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