嵌入式與韌體
在可為中斷設定優先順序的微控制器上,執行低優先順序中斷的處理常式期間,發生了高優先順序的中斷。一般會如何(假設設定為允許中斷巢狀)?
- A中斷低優先順序的處理常式,執行高優先順序的處理常式,結束後回到低優先順序處理常式的後續
- B在低優先順序的處理常式結束之前,高優先順序的中斷會被捨棄
- C兩個處理常式在同一個CPU上同時並行執行
查看答案與解析
正確答案:A. 中斷低優先順序的處理常式,執行高優先順序的處理常式,結束後回到低優先順序處理常式的後續
為中斷設定優先順序後,緊急的中斷即使在其他處理常式執行中,也能插入並被處理。例如,若將馬達過電流的偵測設為高優先順序,通訊接收設為低優先順序,即使在接收處理中,也能立即因應過電流。Arm Cortex-M的NVIC等具備此機制。優先順序相同或較低的中斷,則要等到目前的處理常式結束才會被處理。
- A. 正確。這稱為中斷巢狀。
- B. 不是被捨棄,而是會立即被處理。
- C. 1個CPU同一時間只能進行1項處理。