新聞中心

AVR的中斷問題

作者: 時間:2016-11-20 來源:網(wǎng)絡 收藏
AVR單片機在同一個優(yōu)先級中,中斷向量入口地址越低,其優(yōu)先級越高。AVR單片機在響應中斷以后,會禁止系統(tǒng)響應其余中斷。如果程序需要在某個中斷服務程序中響應其它中斷事件,可以在該中斷服務程序中用SEI指令或_SEI()(IAR)、 SEI()(ICCAVR)重新使能全局中斷即可。否則,AVR單片機只有在退出中斷進程時,才重新使能全局中斷。

任一中斷發(fā)生時全局中斷使能位I 被清零,從而禁止了所有其他的中斷。用戶軟件可以在中斷程序里置位I 來實現(xiàn)中斷嵌套。此時所有的中斷都可以中斷當前的中斷服務程序。
AVR 退出中斷后總是回到主程序并至少執(zhí)行一條指令才可以去執(zhí)行其他被掛起的中斷。要注意的是,進入中斷服務程序時狀態(tài)寄存器不會自動保存,中斷返回時也不會自動恢復。這些工作必須由用戶通過軟件來完成。
使用CLI 指令來禁止中斷時,中斷禁止立即生效。沒有中斷可以在執(zhí)行CLI 指令后發(fā)生,即使它是在執(zhí)行CLI 指令的同時發(fā)生的。


關鍵詞: AVR中斷問

評論


技術專區(qū)

關閉