一種高效率的定時(shí)器管理模塊設計
2定時(shí)器管理模塊的實(shí)現
2.1 數據結構和函數接口
定時(shí)器管理模塊使用的相關(guān)數據結構定義如下:本文引用地址:http://dyxdggzs.com/article/173423.htm
字段state保存了定時(shí)器節點(diǎn)的狀態(tài),可能取值為空閑(T_FREE)、使用(T_INLISE)或溢出(T_OVER-FLOW)。
字段Count保存了定時(shí)器節點(diǎn)的定時(shí)值,最大取值為65 535。如果設置硬件定時(shí)器中斷為10 ms,則軟件定時(shí)器最大定時(shí)約為655 s,可以滿(mǎn)足大多數應用需要。
字段msg指向定時(shí)器的用戶(hù)消息。在啟動(dòng)定時(shí)器時(shí),指向消息的指針被保存在此字段。當定時(shí)時(shí)間結束后,中斷處理函數會(huì )自動(dòng)發(fā)出這個(gè)消息以通知用戶(hù)任務(wù)。
由于數組的下標是唯一的,可作為識別節點(diǎn)的唯一ID號。下文中提到的節點(diǎn)ID號均表示節點(diǎn)在數組中的下標。
MAX_TIMER_NUM表示系統允許的最大定時(shí)器數,其值取決于具體應用需要。
本模塊提供的關(guān)鍵接口函數如下:
評論