1. 程式人生 > >ARM CM0 中斷 優先順序

ARM CM0 中斷 優先順序

<ARM Cortex-M0權威指南(中文) 高清掃描版.pdf>
程式設定 使能 中斷A 和中斷B,中斷C,中斷A的優先順序 大於中斷B的優先順序 大於中斷C的優先順序

情況1:
當程式執行過程中,傳送中斷A,進入中斷A的處理函式,
這個時候 如果發生中斷 B,那麼等中斷A的處理函式退出之後,繼續執行中斷B的處理函式。

情況2:
當程式執行過程中,傳送中斷B,進入中斷B的處理函式,
這個時候 如果發生中斷 A,
如果允許中斷巢狀,
如果不允許中斷巢狀

情況3:
當程式執行過程中,傳送中斷B,進入中斷B的處理函式,
這個時候 如果發生中斷 A,
如果允許中斷巢狀,進入中斷A的處理函式,在執行中斷A處理函式過程中,發生中斷C,
中斷A的處理函式 退出之後,怎麼執行 ?
中斷A執行過程中,又有一個比A優先順序還高的中斷髮生怎麼辦 ?

如果不允許中斷巢狀,在執行中斷B的過程中,又產生了中斷C

中斷B的處理函式執行完畢之後,是先執行那個呢?

中斷巢狀:

在這裡插入圖片描述

在這裡插入圖片描述
在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述
在這裡插入圖片描述

在這裡插入圖片描述
在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述