新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 一種高效定時器模塊的設計與實現

        一種高效定時器模塊的設計與實現

        作者: 時間:2011-03-25 來源:電子產品世界 收藏

          軟件定時器只有在有嘀嗒發生且自身狀態為RUNNING的情況下才會運行,其計時時間-duration隨嘀嗒而累加,如果duration達到超時值,則置overow_ag,然后判斷該定時器是否周期定時器,是則重啟定時-清零duration,否則判斷是否多次定時,定時次數計數未滿則重啟定時,計數滿后停止該定時器。

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

          定時器應用

          在軟件系統中是一個基本功能單元,它為其他模塊或上層應用提供超時、計時服務[5]。以門鎖的驅動為例講述下定時器的應用。

          在門鎖閉鎖時,BCM對門鎖電機的閉鎖驅動控制需要保持200ms的時間,在邏輯上便是輸出一個200ms的控制脈沖,該部分代碼如下:

          ...

          DrivePort(ALLDR_LK_OUT,DRIVEON);

          TimerStart(ALLDR_LOCK_200MS,200,0,1);

          if(1==TM[ALLDR_LOCK_200MS].overow_ag)

          {

          DrivePort(ALLDR_LK_OUT,DRIVEOFF);

          TM[ALLDR_LOCK_200MS].overow_ag=0;

          }

          ...

          可見,在設計良好的定時器驅動以后,實現某種定時應用非常簡單,其他應用示例在此不再贅述。

          結語

          本文設計的,邏輯清晰,使用方便,做為一個穩定的底層驅動,在實際應用中得到了很好的應用。


        上一頁 1 2 3 4 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 临澧县| 布尔津县| 广宁县| 江西省| 漠河县| 永年县| 定西市| 靖安县| 广东省| 曲松县| 棋牌| 辉县市| 永城市| 大足县| 德格县| 怀安县| 河北区| 和田市| 酒泉市| 洪雅县| 图木舒克市| 静安区| 乌拉特前旗| 延寿县| 突泉县| 南丹县| 福安市| 克拉玛依市| 丰都县| 临江市| 丹寨县| 青田县| 师宗县| 赞皇县| 昭平县| 陆良县| 浮山县| 林口县| 北安市| 阜阳市| 泉州市|