新聞中心

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

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

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

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

        本文引用地址:http://www.104case.com/article/201612/324465.htm

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

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

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

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

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

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

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

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

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

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

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



        關鍵詞: MSP430中斷中斷嵌

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 大埔县| 景德镇市| 珠海市| 岑巩县| 郓城县| 昌邑市| 黄陵县| 诸城市| 高州市| 紫阳县| 元江| 凤阳县| 民丰县| 定日县| 澄江县| 马边| 天峻县| 故城县| 红桥区| 甘肃省| 驻马店市| 巴东县| 吉首市| 章丘市| 友谊县| 镇巴县| 天长市| 武安市| 武冈市| 台中市| 蒲江县| 秦皇岛市| 隆安县| 阿合奇县| 鹤壁市| 罗江县| 务川| 定襄县| 金山区| 黄浦区| 龙江县|