厦门光沃自动化设备有限公司

主营:ABGE西门子

第10年

基本信息 更多>>
普通会员10

厦门光沃自动化设备有限公司

联系人:

【联系时请说明来自塑胶五金网】

手机:

QQ:

联系地址:

主页:http://xmgwoy.sjwj.com

产品分类 更多>>
全部产品
AB
GE
施耐德
西门子
您的位置: 首页 > 产品展示 > 产品详情
产品展示
产品名称: 1336F-BRF05-AA-EN-HCS2-L9E /B
浏览量:
价格: 65
供货总量: 666
规格: 1336F-BRF05-AA-EN-HCS2-L9E /B
更新日期: 2018年12月26日,有效期:360天
关键字: 1336FBRF0A 1336FBRF0A 1336FBRF0A
联系人:
联系电话:
即时通讯: 点击这里给我发消息
详情信息
1336F-BRF05-AA-EN-HCS2-L9E/B

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


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

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

使用C++标准模板库中的map实现对定时器的存储。第1个参数为定时器的索引号,第2个参数为定时器控制结构。使用map可以方便地实现基于定时器索引号的存储管理和索引号的查找。使用map的定时器存储示意图如图1所示。


   用户在调用SetTimer函数时,创建一个初始状态为空的计数信号量timerArrv,同时生成一个任务timerTask等待该信号量,此时任务状态为PEND;实例化一lk-Generator对象,创建看门狗启动定时器。当定时器超时时,释放timerArrv信号量,解除阻塞在timerArrv上的任务,回调用户函数完成一个完整的定时过程。定时器的典型运行过程如图2所示。

首页
电话
留言
联系

X 点击这里给我发消息
您有什么事儿找我?