新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > VxWorks下基于看门狗的通用定时器设计

VxWorks下基于看门狗的通用定时器设计

作者:时间:2013-05-31来源:网络收藏

2.3.3 定时器管理模块实现
定时器管理模块是共享定时机制的核心,用来维护定时器的注册、注销以及定时器链表的排序、删除、清空等操作。

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

d.jpg


定时器的注册流程如图4所示,首先使用RegistTimer()函数注册一个新的定时器任务,并将该定时器的TimerInfo结构插入链表中维护,然后针对该结构中的tExe变量对链表按照升序排列,执行时间最小的将置于表头;若在插入该定时器任务之前链表中为空,则定时器处于休眠状态,此时置定时器状态为运行;若插入前链表中己存在其他定时器任务,则无须重启定时器。

e.jpg


定时器的注销流程如图5所示,首先使用UnRegistTimer()函数注销一个己注册的定时器任务,并将该定时器的Timerlnfo结构从链表中删除,然后针对该结构中的tExe变量对链表按照升序排列,执行时间最小的将置于表头;若在删除该定时器任务之前链表中除了该定时任务没有其他定时任务时,则置定时器为休眠状态;反之,则无须重置定时器状态。

3 结束语
共享定时器提供了简单、高效、通用的定时方法,使用者可以抛开管理诸多的烦恼,从而专心于系统其他方面的设计。作为一个通用的系统组件,开发人员不仅可以直接使用,缩短开发时间,也可以继承此定时器类,实现更多丰富的功能,提供了良好的扩展性与灵活性。
该机制在VxWorks的网络报文应答、设备状态监控等方面得到了广泛应用,在有效节省系统资源的同时提高了系统定时机制的灵活性。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭