关于中断嵌套
0赞
发表于 4/22/2011 5:29:44 PM
阅读(2552)
1. HCS08中断的优先级是固定的。在执行一个中断程序时,其他中断等待执行完执行。在几个中断同时等待时,由高到低依次执行。
2. 中断程序可以嵌套,只要执行清除中断标志后,使用cli指令就可以随意嵌套。高优先级的中断执行中也可以处理低的中断程序。
3. Fsl的单片机的中断处理机制不适合中断嵌套。特别是多层嵌套。堆栈不好处理,容易造成堆栈跑飞。中断程序最好快进快出,程序语句越少越好,中断程序中只是处理标志位。事件处理最好由主程序执行。
4. Cw6.x的编程软件是自动禁止中断嵌套的。需要嵌套时EnableInterrupts; (asm cli;)
一些不重要的中断程序或者优先级低发生频率低的可以嵌套其他中断。如串口发数中断。
interrupt 21 void sc2fa(void)
{
byte m;
m=SCI2S1; //清除中断标志
EnableInterrupts; //使能可以嵌套其他的中断。
{。。。。。。}
}