嵌入式與韌體
在每1 ms一次的計時器中斷處理常式中,無條件地重設看門狗計時器(餵狗)並不好,其原因下列何者正確?
- A看門狗規定不可以從中斷中觸碰
- B即使主程式因無限迴圈等原因停住,中斷仍會持續執行,使看門狗無法偵測到異常
- C每1 ms餵狗一次的話,看門狗會損壞
查看答案與解析
正確答案:B. 即使主程式因無限迴圈等原因停住,中斷仍會持續執行,使看門狗無法偵測到異常
看門狗是若在規定時間內沒有被餵狗,就會重設微控制器,使其從失控中恢復的機制。然而計時器中斷即使在主程式停止時仍會持續執行,若在那裡無條件餵狗,就無法察覺程式已停住。基本做法是確認主迴圈或各工作各自正常執行完一輪,只有在全部到齊時才餵狗。
- A. 並沒有這樣的規定。
- B. 正確。確認正常運作後才餵狗。
- C. 頻繁餵狗並不會損壞。