在<中颖单片机入门与实践>有下面的一段话: 如果IE 置起指令是放在中断程序之外,而且程序中有HALT 或STOP 指令,则HALT/STOP 指令与IE 置起指令尽量靠近,否则会出现程序无法退出HALT/STOP 模式而出现“假死机”。 例如: 程序: : LDI IE, 0FH ; enable interrupt NOP NOP HALT 如果在两条NOP 指令之后,立刻有中断事件产生或IRQ 中断标志不等于0,CPU 将立即响应对应的中断,IE 被硬件清零。"当程序从中断服务程序返回后,CPU 开始执行HALT/STOP 指令。由于IE 已被清零,所有的中断都被禁止,系统也无法由中断唤醒,一直处于HALT/STOP 模式,呈现一种假死机现象。"
我对最后一句话不是很清楚,程序的中断返回前软件上肯定要置IE使能,那怎么会进入假死状态呢?我相信没有人在中断返回前不使能IE的吧?除非只需要进中断一次. |