关于CANOPEN canfestival SDO发送流程 请教各位

2019-12-11 18:18发布

最近一直在弄CANOPEN,STM32上面canfestival协议栈能跑起来了,但还是有很多不明白的地方,比如SDO的发送和接收,查看了硬石科技关于CANOPEN的资料,前面说了一大理论,后面的例程里面关于SDO的发送,居然是用底层的CAN模拟协议发送数据!有人说是用writeNetworkDictCallBack()函数进行SDO操作,用了但没看到发出来的数据,所以请教论坛里面的大神,STM32的canfestival是通过调用哪个函数来实现SDO的发送和接收,工作流程是怎么样的?

NTW`U3}YAKE_OQ8$O[${OB5.png (71.11 KB, 下载次数: 2) 下载附件 2019-1-22 11:31 上传
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
16条回答
yjsjsy
1楼-- · 2019-12-11 22:46
同求,也在也在学习中,顶!
atonghua
2楼-- · 2019-12-12 02:25
还有  请教大家  怎么设置PDO内部事件触发发送  比如我AD值超过1000  PDO就发送一个数据出去?
lostid
3楼-- · 2019-12-12 05:37
SDO发送可用sdo.c的_writeNetworkDic函数。
事件触发是指只要AD值发生了改变就在下一个同步信号来的时候发送, 还有一种同步触发是只要同步计数值到了不管数据有没有变化都发送。
atonghua
4楼-- · 2019-12-12 10:58
lostid 发表于 2019-1-22 15:52
SDO发送可用sdo.c的_writeNetworkDic函数。
事件触发是指只要AD值发生了改变就在下一个同步信号来的时候发 ...

嗯 谢谢  还有请问 这个同步信号是NMT主机产生的吗?如果有这样一个应用场景  电脑通过232发送一个位置数据给主控板  主控板再将位置数据通过CANOPEN给电机驱动器  那么这个主控板自己要产生同步信号,还要通过配置PDO,发送位置数据给驱动器,请问是这样理解的吗?
oldmen
5楼-- · 2019-12-12 11:52
 精彩回答 2  元偷偷看……
lingdianhao
6楼-- · 2019-12-12 16:46

tttaa00045.jpg (436.45 KB, 下载次数: 0)

下载附件

2019-1-22 20:02 上传


然后你要查询SDO是否传输完成。

一周热门 更多>