2013年2月10日 星期日

MCU程式設計技巧:中斷及FIFO的使用

能否有效使用中斷,將是MCU程式是否進入專業領域的關鍵。並不是會使用就可以了,而是能否了解工作的時效性並做工作切割。


這也是Bee將中斷及FIFO放在一起的原因。


 


在一個具有回授性系統上做PID控制。


因為回授控制具有時間敏感度,故不允許時間上的失誤。


其做法是將命令生成做成FIFO,只要FIFO有空間,就填入新的命令。而中斷則只要負責PID回授的計算方程式,以確保用最短時間內做出反應。


 


類似的工作也出現在通信上面。


應用層程式總是希望通信可以將整個句子一次輸出。但MCU的世界並不是這樣,通信每出一個字都是要花時間的。可以的做法也是使用FIFO,將整個句子用FIFO存起來,再利用中斷接續中間的工作。


 


能有效的將工作切割、控制好中斷的時效性,那MCU程式設計就開始進入專業等級。



沒有留言:

張貼留言