新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > VxWorks下基于看門狗的通用定時器設計

        VxWorks下基于看門狗的通用定時器設計

        作者: 時間:2013-05-31 來源:網絡 收藏

        2.3.3 定時器管理模塊實現
        定時器管理模塊是共享定時機制的核心,用來維護定時器的注冊、注銷以及定時器鏈表的排序、刪除、清空等操作。

        本文引用地址:http://www.104case.com/article/148020.htm

        d.jpg


        定時器的注冊流程如圖4所示,首先使用RegistTimer()函數注冊一個新的定時器任務,并將該定時器的TimerInfo結構插入鏈表中維護,然后針對該結構中的tExe變量對鏈表按照升序排列,執行時間最小的將置于表頭;若在插入該定時器任務之前鏈表中為空,則定時器處于休眠狀態,此時置定時器狀態為運行;若插入前鏈表中己存在其他定時器任務,則無須重啟定時器。

        e.jpg


        定時器的注銷流程如圖5所示,首先使用UnRegistTimer()函數注銷一個己注冊的定時器任務,并將該定時器的Timerlnfo結構從鏈表中刪除,然后針對該結構中的tExe變量對鏈表按照升序排列,執行時間最小的將置于表頭;若在刪除該定時器任務之前鏈表中除了該定時任務沒有其他定時任務時,則置定時器為休眠狀態;反之,則無須重置定時器狀態。

        3 結束語
        共享定時器提供了簡單、高效、通用的定時方法,使用者可以拋開管理諸多的煩惱,從而專心于系統其他方面的設計。作為一個通用的系統組件,開發人員不僅可以直接使用,縮短開發時間,也可以繼承此定時器類,實現更多豐富的功能,提供了良好的擴展性與靈活性。
        該機制在VxWorks的網絡報文應答、設備狀態監控等方面得到了廣泛應用,在有效節省系統資源的同時提高了系統定時機制的靈活性。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 正镶白旗| 桓台县| 沽源县| 博爱县| 乐至县| 平塘县| 招远市| 西充县| 阿拉善盟| 镇坪县| 宽城| 永安市| 赞皇县| 枣强县| 台东市| 长白| 淳安县| 施秉县| 荔波县| 神农架林区| 精河县| 连山| 观塘区| 青铜峡市| 乌兰县| 莆田市| 沽源县| 项城市| 民乐县| 定陶县| 荃湾区| 九江市| 天门市| 宜兴市| 甘孜| 龙州县| 龙里县| 宣武区| 贵阳市| 平原县| 思茅市|