NewNew 发表于 2009-9-23 22:33:48

NEC单片机的中断优先级

版主好,各位好!
NEC单片是否也像AVR那样:当多个中断同时发生,执行中断优先级高的,如果已经进入某个中断,将自动禁止全局中断,此时即使有其他中断发生也不执行其它中断,当本次中断执行完毕,然后在按照中断优先级执行排队的中断。
如果中断嵌套,也就是在中断服务程序里面开中断又遵循什么样的原则响应中断?谢谢!

jdjsxf 发表于 2009-9-24 09:47:58

是的。我知道的单片机应该都是这样,因为只有这样才足够安全。
至于为什么,你可以想一想。

如果你想中断嵌套的话,需要在低优先级的中断里手动的使能中断,也即是EI().

NewNew 发表于 2009-9-24 11:10:10

谢谢1楼的讲解,我想知道的是我进入中断以后用EI()开启全局中断后,这时如果有低于我现在正在执行的优先级它是否响应。
如果我进入中断以后用EI()开启全局中断后,有同时几个中断发生,又该如何响应

jdjsxf 发表于 2009-9-24 13:02:28

1、这时候不会相应,要等高优先级中断退出后,再执行低优先级的中断。
2、要看这几个中断的的优先级,如果这几个中有比当前执行的中断级别高的中断,那么当前的中断会被打断,转而执行高优先级中断。否则,其他的几个中断都要等着。等当前的中断执行完后,在一个一个的执行其他的中断。

witty01 发表于 2011-5-25 13:26:39

回复【3楼】jdjsxf
-----------------------------------------------------------------------

为什么我用EI开了中断还是不能嵌套呢?我也保存了EIPC EIPSW 到r22,r23,退出之前又把这个值送了回来,就是不嵌套
页: [1]
查看完整版本: NEC单片机的中断优先级