新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 一種高效定時器模塊的設(shè)計與實現(xiàn)

一種高效定時器模塊的設(shè)計與實現(xiàn)

作者: 時間:2011-03-25 來源:電子產(chǎn)品世界 收藏

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

本文引用地址:http://butianyuan.cn/article/118088.htm

  定時器應(yīng)用

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

  在門鎖閉鎖時,BCM對門鎖電機(jī)的閉鎖驅(qū)動控制需要保持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;

  }

  ...

  可見,在設(shè)計良好的定時器驅(qū)動以后,實現(xiàn)某種定時應(yīng)用非常簡單,其他應(yīng)用示例在此不再贅述。

  結(jié)語

  本文設(shè)計的,邏輯清晰,使用方便,做為一個穩(wěn)定的底層驅(qū)動,在實際應(yīng)用中得到了很好的應(yīng)用。


上一頁 1 2 3 4 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉