嵌入式與韌體
不使用OS的微控制器程式中常見的「超級迴圈(super loop)」架構,下列說明何者正確?
- A在main中的無限迴圈裡依序持續呼叫各項處理,緊急的處理以中斷執行
- B每項處理各建立一個行程,由OS切換
- C每完成一項處理就重新啟動微控制器
查看答案與解析
正確答案:A. 在main中的無限迴圈裡依序持續呼叫各項處理,緊急的處理以中斷執行
在超級迴圈中,初始化之後在「while (1)」裡依序持續呼叫感測器讀取、運算、顯示等處理。對時間要求嚴格的處理以中斷執行,再用旗標通知迴圈。優點是不需要OS、所需記憶體也少、動作容易追蹤。不過只要有一項處理耗時較長,其他處理全都會延遲,因此當處理增加而變得複雜時,會考慮採用RTOS。
- A. 正確。簡單,適合小型微控制器。
- B. 那是使用OS的架構。
- C. 不會重新啟動。