新闻中心

EEPW首页>嵌入式系统>设计应用> 一种高效定时器模块的设计与实现

一种高效定时器模块的设计与实现

作者: 时间:2011-03-25 来源:电子产品世界 收藏

  软件定时器只有在有嘀嗒发生且自身状态为RUNNING的情况下才会运行,其计时时间-duration随嘀嗒而累加,如果duration达到超时值,则置overow_ag,然后判断该定时器是否周期定时器,是则重启定时-清零duration,否则判断是否多次定时,定时次数计数未满则重启定时,计数满后停止该定时器。

本文引用地址://m.amcfsurvey.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 下一页

评论


相关推荐

技术专区

关闭