canopen PDO传输疑问

最近做一个项目碰到的问题,系统中有三个can站,一主二从,主站为主控制模块,从站A控制电机A转动,从站B控制电机B转动,考虑命令传输的延迟,想把A和B的速度命令放到一条PDO里控制。
具体的配置如下:
主站TPDO配置
canopen PDO传输疑问_第1张图片

1A00[1] = 0x20c80110
1A00[2] = 0x20c80210
1A00[3] = 0x30020008
1A00[4] = 0x30070008

从站A RPDO配置
这里写图片描述
1600[1] = 0x20c80010
1600[2] = 0x0
1600[3] = 0x30020008
1600[4] = 0x30070008

从站B RPDO配置
这里写图片描述

1600[1] = 0x0
1600[2] = 0x20c80010
1600[3] = 0x30020008
1600[4] = 0x30070008

配置好之后,速度都发送100 也就是0x64,然而从机A3002里面的值是0x64,很奇怪。再次验证,20c8-1发送0xABCD,20c8-2发送0x1234,结果
从站A
20c8=0xABCD
3002=0x34
3007=0x12

从站B
20c8=0xABCD
3002=0x34
3007=0x12

这个结果很奇怪,查阅了相关canopen的资料,也没有看到说这个问题的。

你可能感兴趣的:(STM32)