[發明專利]一種無累計誤差的定時器控制方法在審
| 申請號: | 201310357952.4 | 申請日: | 2013-08-16 |
| 公開(公告)號: | CN103455402A | 公開(公告)日: | 2013-12-18 |
| 發明(設計)人: | 陳華云;鄭振貴;韋昌榮;鄭福弟;劉偉峰;黃杭星 | 申請(專利權)人: | 廈門雅迅網絡股份有限公司 |
| 主分類號: | G06F11/28 | 分類號: | G06F11/28 |
| 代理公司: | 廈門市誠得知識產權代理事務所(普通合伙) 35209 | 代理人: | 李伊飏 |
| 地址: | 361000 福建*** | 國省代碼: | 福建;35 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 累計 誤差 定時器 控制 方法 | ||
1.一種無累計誤差的定時器控制方法,其特征在于:包括定時器的管理步驟,以及定時器的定時到時之后的處理步驟,具體的,定時器的管理步驟包括:
步驟A1:建立定時器管理器,用于管理定時器信息;建立消息隊列,用來傳遞定時器信息;該定時器信息包括定時器ID、定時時間T、定時器回調函數指針、定時器回調函數參數指針;
步驟A2:向定時器管理器增加一定時器,為該定時器設定初始時間T0,T0為此時系統的相對時間,相對時間是指系統從開機到此時所經過的時間;
步驟A3:定時器管理器檢測其內是否有定時器存在,如果沒有定時器存在,則循環執行步驟A3;如果有定時器存在,則取出目前指示器所指向的定時器,并把指示器指向下一個定時器,如果指示器已經指向了最后一個定時器,則把指示器指向第一個定時器;
步驟A4:判斷定時器是否到時,具體是,獲取系統當前的相對時間T1,如果T1-T0等于T或者大于T,則把該定時器信息壓入消息隊列,并轉至步驟A5;如果T1-T0小于T,則跳到步驟A3;
步驟A5:調整定時器的初始時間T0,令T0=T0+T,即把定時器的開始時間加上定時時間作為定時器的新一輪的開始時間,并返回步驟A3繼續執行;
所述定時器的定時到時之后的處理步驟,具體包括:
步驟B1:讀取消息隊列的內容,如果消息隊列內有內容,則讀取消息隊列內容;
步驟B2:獲取消息隊列內容中的相關定時器的信息;
步驟B3:取出定時器中的回調函數指針和回調函數參數指針;
步驟B4:執行回調函數,返回步驟B1。
2.根據權利要求1所述的無累計誤差的定時器控制方法,其特征在于:步驟A1中,該定時器管理器使用動態鏈表來實現。
3.根據權利要求1所述的無累計誤差的定時器控制方法,其特征在于:步驟A3中,所述指示器由指針實現。
4.根據權利要求1所述的無累計誤差的定時器控制方法,其特征在于:步驟B1中,讀取消息隊列的內容是采用阻塞讀取的方式。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廈門雅迅網絡股份有限公司,未經廈門雅迅網絡股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310357952.4/1.html,轉載請聲明來源鉆瓜專利網。





