[应用相关] CAN通信问题求助

[复制链接]
1246|11
 楼主| llia 发表于 2014-10-31 12:18 | 显示全部楼层 |阅读模式
手头两块板,STM32F103V8T6+TJA1050,其中一个发送数据,我们称为 A ;另一块接收数据,称为 B 。
两板通信测试前,我先用标准CAN设备(国产的USB-CAN工具)测试,该设备我们称之为 C 。
1)A发送,C接收,正常。
2)C发送,B接收,正常。

其中,AB上接有120欧终端电阻,C上没有;波特率均为100K。

接下来 A发送,B接收,不正常!
A程序中加入读错误代码的一段程序,读回的是 Acknowledgement Error(0x30),应答错误;有仿真器跟踪B中的程序,发现A发出了数据,B却没有进入接收中断。
huanghuac 发表于 2014-10-31 12:18 | 显示全部楼层
就是说A B分别与标准设备通信都是正常的,但相互通信就出现问题
 楼主| llia 发表于 2014-10-31 12:19 | 显示全部楼层
是啊,不知道哪位前辈遇到过这样的问题,是如何解决的,望不吝赐教,谢谢!
huanghuac 发表于 2014-10-31 12:23 | 显示全部楼层
既然是 Acknowledgement Error(0x30)错误了, 那就从这里下手咯.
huanghuac 发表于 2014-10-31 12:23 | 显示全部楼层

另外, ABC 也可以放在一个总线里调试的.
happy_10 发表于 2014-10-31 12:24 | 显示全部楼层
检查一下A发送的帧类型(标准、扩展)和B接收的帧类型
 楼主| llia 发表于 2014-10-31 12:26 | 显示全部楼层
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;   
 楼主| llia 发表于 2014-10-31 12:26 | 显示全部楼层
加入了上面部分就好了,我寻思着,是不是没有设定IO的速度,导致两边的速率出现可能不太一致
 楼主| llia 发表于 2014-10-31 12:26 | 显示全部楼层
但是,AC BC间的如何解释?标准的CAN设备适应能力强?
huanghuac 发表于 2014-10-31 12:27 | 显示全部楼层
恭喜啊,厉害
 楼主| llia 发表于 2014-10-31 12:29 | 显示全部楼层
嘿嘿,结贴了,阶段性成果啊
 楼主| llia 发表于 2014-10-31 12:29 | 显示全部楼层
多谢大家,结贴了啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

961

主题

8893

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部