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