中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > VxWorks下的異步通用定時器設計

        VxWorks下的異步通用定時器設計

        作者: 時間:2009-12-15 來源:網絡 收藏

        使用C++標準模板庫中的map實現(xiàn)對的存儲。第1個參數(shù)為的索引號,第2個參數(shù)為控制結構。使用map可以方便地實現(xiàn)基于定時器索引號的存儲管理和索引號的查找。使用map的定時器存儲示意圖如圖1所示。

        本文引用地址:http://www.antipu.com.cn/article/163412.htm


        用戶在調用SetTimer函數(shù)時,創(chuàng)建一個初始狀態(tài)為空的計數(shù)信號量timerArrv,同時生成一個任務timerTask等待該信號量,此時任務狀態(tài)為PEND;實例化一個CClk-Generator對象,創(chuàng)建看門狗啟動定時器。當定時器超時時,釋放timerArrv信號量,解除阻塞在timerArrv上的任務,回調用戶函數(shù)完成一個完整的定時過程。定時器的典型運行過程如圖2所示。

        圖2中最底下的虛線指向啟動看門狗后的中斷處理流程。中間部分表示定時器任務運行過程,可見用戶回調函數(shù)是運行在任務空間中。“回調函數(shù)釋放信號量”到定時器任務semTake”的虛線表示釋放信號量使任務解鎖。


        4 定時器的應用
        定時器管理控制模塊是用戶的唯一接口,使用Single-ton模式。只要調用CTimerCtrl::GetTimerCtrl()就可以完成對定時器的初始化,除對定時器進行相關操作之外,還包括通過sysClkRateSet函數(shù)設置系統(tǒng)時鐘每秒的tick數(shù)為1000。下面的例子包含2個定時器:一個是1 sN期性定時器;另一個是周期為5 s的一次性定時器。

        結 語
        從應用實例中可以看出,定時器的使用方法和Windows下的定時器沒有太大區(qū)別,接口簡單清晰。定時器可以應用于定時精度為ms的絕大部分應用程序中,對于精度要求高于ms的定時使用硬件輔助時鐘中斷更為合適,但是要注意操作系統(tǒng)對中斷處理函數(shù)的限制。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區(qū)

        關閉