canFestival移植(3)-----SDO快速收发函数应用分析

本文深入分析canFestival中快速SDO报文的收发过程,包括初始化、报文发送、响应接收及超时处理,提供实用技巧并总结核心思想。

前序

通过前2篇文章后,我相信大家对系统有了比较深入的理解,并且能够理解移植后,系统是怎么工作的,SDO报文是使用比较经常的一种报文,本篇文章分析一下怎么使用SDO收发报文,进一步理解canFestival。本文只讲解快速SDO报文,也是使用最多的报文,普通SDO报文用户大数据传输,交互次数较多。

canFestival使用总结

上一节通过历程可知canFestival的使用步骤,这一节再总结一把,为下面分析SDO报文收发打下坚实的基础:
(1)调用定时器初始化函数,编写定时器中断函数,同时再定时器中断函数中调用TimeDispatch()用来确定超时的软定时器,并且调用超时软定时器的超时函数。
(2)初始化CAN硬件通信,设置can硬件发送函数canSend(),并且设计can硬件中断,在硬件中断函数中,把接收到的报文组织成,Message 结构体,然后调用canDispatch()进行报文解析处理。
(3)你需要调用如下函数,这是协议规定的,必须调用这些函数,否则,状态不对,在使用canFestival提供的API的时候,就会失败。
在这里插入图片描述
简单补充一下,各种状态可以进行的操作,如图所示,在不同的状态能够进行的操作是不同的,源码是按照协议来的。
在这里插入图片描述
(4)编写用户应用canopen的逻辑,下面讨论的收发SDO报文就是逻辑设计的时候怎么调用发送SDO报文的函数。

发送读取对象字典SDO报文请求

(1)调用函数readNetworkDictCallback()就可以发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值