能否有效使用中斷,將是MCU程式是否進入專業領域的關鍵。並不是會使用就可以了,而是能否了解工作的時效性並做工作切割。
這也是Bee將中斷及FIFO放在一起的原因。
在一個具有回授性系統上做PID控制。
因為回授控制具有時間敏感度,故不允許時間上的失誤。
其做法是將命令生成做成FIFO,只要FIFO有空間,就填入新的命令。而中斷則只要負責PID回授的計算方程式,以確保用最短時間內做出反應。
類似的工作也出現在通信上面。
應用層程式總是希望通信可以將整個句子一次輸出。但MCU的世界並不是這樣,通信每出一個字都是要花時間的。可以的做法也是使用FIFO,將整個句子用FIFO存起來,再利用中斷接續中間的工作。
能有效的將工作切割、控制好中斷的時效性,那MCU程式設計就開始進入專業等級。
沒有留言:
張貼留言