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