新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 關于MSP430中斷、中斷嵌套的一些注意事項

關于MSP430中斷、中斷嵌套的一些注意事項

作者: 時間:2016-12-01 來源:網(wǎng)絡 收藏
1、MSP430默認的是關閉中斷嵌套的,除非在一個中斷程序里面再次開啟了總中斷EINT();2、當進入中斷程序時,只要不在中斷中再次開中斷,則總中斷總是關閉的,此時如果來中斷,不管中斷的優(yōu)先級高還是低,都不執(zhí)行。

3、如果在中斷A中開放了總中斷,則可以響應之后到來的中斷B(無論B的優(yōu)先級是高還是低),B執(zhí)行完了,再繼續(xù)執(zhí)行A。

本文引用地址:http://butianyuan.cn/article/201612/324465.htm

這里,進入中斷B之后,總中斷同樣也會關閉的。如果中斷B執(zhí)行的過程中,還需要執(zhí)行中斷C,則此時也要在中斷B中開放總中斷。

若不需要響應中斷,則不用開放總中斷。B執(zhí)行完以后,跳出中斷程序,進入A程序執(zhí)行的時候,總中斷會自動打開。

4、若在中斷之中開放了總中斷,那么后來的中斷同時發(fā)生多個的話,則會按照優(yōu)先級的順序來執(zhí)行,即MSP430的中斷優(yōu)先級只有在

多個中斷同時到來的時候才會起作用。

5、對于單中斷源的中斷,

只要響應中斷,系統(tǒng)的硬件會自動的清除中斷標志位。

對于TA、TB這樣的定時器的比較、捕獲中斷,只要訪問TAIV/TBIV標志位就會被自動清除。

對于多源中斷,需要手動清除標志位。

比如:P1、P2的中斷,需要手動清楚相應的標志位。

如果在這種中斷中使用“_EINT();”,開中斷,而在打開中斷之前,沒有進行原來中斷標識位的清除工作,就會有相同的中斷

不斷的進行嵌套。而導致堆棧溢出引起復位,所以在這類中斷中,必須先清除標志位,再打開中斷開關。要不然等著死機吧。



關鍵詞: MSP430中斷中斷嵌

評論


技術專區(qū)

關閉