CANOpen定时器

19 篇文章 3 订阅 ¥299.90 ¥399.90
CANOpen协议包含一些与时间相关的子协议,如PDO和LIFEGRD,这需要在移植时实现定时器的底层接口。文章介绍了在timer.h中声明的接口,并指出timer.c如何使用一个定时器来管理各种定时事件,其最大数量由config.h中的MAX_NB_TIMER宏决定。此外,还提到了定义在timer.c中的定时事件入口数组s_timer_entry timers[MAX_NB_TIMER]及其四种不同状态。
摘要由CSDN通过智能技术生成

在CANOpen中,有部分和时间相关的子协议,比如pdo和lifegrd等,这就要求移植的时候实现定时器的底层接口。

在timer.h中给出了接口声明

/* 设置定时器重载值 */
void setTimer(TIMEVAL value);

/* 获取当前定时器计数器值 */
TIMEVAL getElapsedTime(void);


timer.c通过一个定时器实现各种定时事务的管理,定时事件数的上限取决于config.h中的宏MAX_NB_TIMER,在timer.c中定义了定时事件入口数组s_timer_entry timers[MAX_NB_TIMER]。

/* 定时事件入口结构体 */
struct struct_s_timer_entry 
{
	UNS8 state;			/* 事件状态 */
	CO_D
  • 6
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值