关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > VxWorks下的异步通用定时器设计

VxWorks下的异步通用定时器设计

作者:时间:2009-12-15来源:网络收藏

3.2 接口
提供类似于Windows的接口函数,的唯一索引是id号,操作均通过id完成。分为2种类型:周期性定时器和一次性定时器。周期性定时器可以周期性地触发。一次性定时器则只触发一次,类似于倒计时定时器,触发后看门狗自动删除,相应的任务自动退出。在用户对定时器模块进行初始化后,用户可以在程序的任何地方调用定时器提供的接口。

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


3.3 具体实现
3.3.1 对看门狗的封装
基于程序上的考虑,将定时器的管理控制和看门狗的具体操作分开,对看门狗进行封装,CClkGenerator类封装了看门狗的所有操作,包括看门狗的创建、删除、取消和启动,保存定时器id、类型、定时周期等。值得注意的是:看门狗的回调函数并不是用户的回调函数,而是看门狗管理控制中提供的统一回调函数,回调函数中的参数为定时器的索引号。封装代码如下:


从类定义可以看出,用户并不能直接使用CClkGen-erator。也就是说,该类对用户而言是不可见的,屏蔽了对看门狗的直接操作,只有定时器管理控制模块才可以对其进行操作。
3.3.2 定时器管理与控制
定时器管理与控制模块负责模块初始化、多个定时器相关参数的存储管理、定时器任务的安全退出,以及用户接口的实现。
定时器的主要数据结构:定时器控制结构和存储结构。



评论


相关推荐

技术专区

关闭