关于MSP430中断、中断嵌套的一些注意事项
3、如果在中断A中开放了总中断,则可以响应之后到来的中断B(无论B的优先级是高还是低),B执行完了,再继续执行A。
本文引用地址:https://www.eepw.com.cn/article/201612/324465.htm这里,进入中断B之后,总中断同样也会关闭的。如果中断B执行的过程中,还需要执行中断C,则此时也要在中断B中开放总中断。
若不需要响应中断,则不用开放总中断。B执行完以后,跳出中断程序,进入A程序执行的时候,总中断会自动打开。
4、若在中断之中开放了总中断,那么后来的中断同时发生多个的话,则会按照优先级的顺序来执行,即MSP430的中断优先级只有在
多个中断同时到来的时候才会起作用。
5、对于单中断源的中断,
只要响应中断,系统的硬件会自动的清除中断标志位。
对于TA、TB这样的定时器的比较、捕获中断,只要访问TAIV/TBIV标志位就会被自动清除。
对于多源中断,需要手动清除标志位。
比如:P1、P2的中断,需要手动清楚相应的标志位。
如果在这种中断中使用“_EINT();”,开中断,而在打开中断之前,没有进行原来中断标识位的清除工作,就会有相同的中断
不断的进行嵌套。而导致堆栈溢出引起复位,所以在这类中断中,必须先清除标志位,再打开中断开关。要不然等着死机吧。
评论