智能车制作

标题: MC9S12XS128多中断的问题 [打印本页]

作者: toraky    时间: 2011-4-11 14:47
标题: MC9S12XS128多中断的问题
PIT定时中断开了2个,两个都是10ms,低优先级的会一直不执行?????怎么设置啊?有人说让我两个写一起,反正时间一样,但是我想用5ms的和20ms的不就又有问题了,如果5ms的优先级高,它每四次就会阻碍一次20ms的中断,求解释
作者: toraky    时间: 2011-4-14 18:23
自己顶
作者: toraky    时间: 2011-4-14 18:23
自己顶
作者: zhizhi    时间: 2011-4-20 15:44
在同时要进入中时,两个就要区分优先级。否则,默认的话,一个中断正在进行,另一个不管其优先级高低,都必须等到当前执行完后在进行。具体的可以看看书。
作者: Jarylove    时间: 2011-4-20 22:03
路过
作者: az8898    时间: 2011-6-1 06:57
路过·····
作者: zhjb1    时间: 2011-6-1 09:19
按照中断的原理,优先的先中断执行,完成后在执行低级别的。条件是优先的中断服务程序不能太长到影响其它低级别的中断;其次,需要注意有些中断服务会关掉中断许可,服务完成才打开中断允许,如果这两个中断共用一个中断寄存器控制字,可能会造成低级别的永远无法执行。注意了上述2条,应该没有问题了。Ok?,试试
作者: 海鹏    时间: 2011-8-11 10:26
同样 不理解
作者: qaabq    时间: 2011-8-24 20:01
虽然不知道,但帮忙顶一下!
作者: songqiang    时间: 2011-9-13 21:25
我也遇到过类似问题,感觉中断嵌套很难啊
作者: qinlu123    时间: 2012-2-19 10:02
zhizhi 发表于 2011-4-20 15:44
在同时要进入中时,两个就要区分优先级。否则,默认的话,一个中断正在进行,另一个不管其优先级高低,都必 ...

PIT微计数器加载寄存器,只有两个PITMTLD0和PITMTLD1,是不是意味着只能写两个PIT中断
作者: 圣徒    时间: 2012-3-17 09:00
求解啊
作者: ljbachelor    时间: 2012-3-27 19:09
应该不会出现这样的问题的。优先级高的中断和优先级低的中断就算同时产生,在优先级高的中断的服务程序指行完后就会进入优先级低的中断了。你那种情况可能的原因:1.优先级低的中断初始化不对2.优先级高的中断服务程序太长,执行时钟超过你设定的10ms;3.在优先级高的服务程序中误清除了优先低的中断的中断标志位或高优先级的中断的标置位没有清除。
解决方法:1。将优先级高的中断关闭单独测试,优先级低的中断。2。将优先级高的中断中的程序注释起来试一下。3。检查一下标志位。





欢迎光临 智能车制作 (http://www.znczz.com/) Powered by Discuz! X3.2