嵌入式與韌體
在中斷處理常式中應避免的事項,下列何者最為適當?
- A在旗標變數寫入1,通知主程式
- B清除表示中斷原因的位元
- C以printf輸出長字串,或是持續等待某事發生的迴圈這類耗時的處理
查看答案與解析
正確答案:C. 以printf輸出長字串,或是持續等待某事發生的迴圈這類耗時的處理
中斷處理常式若長時間執行,這段期間就無法回應其他中斷,主程式也會停住。printf需要花時間到輸出完成,內部還可能使用中斷,特別危險。處理常式中只應進行最低限度的處理,例如接收資料放入緩衝區、設立旗標,繁重的處理則交給主程式或工作(task)。也別忘了清除原因位元。
- A. 以簡短處理通知主程式是好方法。
- B. 若不清除原因位元,同一個中斷會反覆發生。
- C. 正確。會長時間阻擋其他中斷與主程式。