打印
[应用相关]

CAN通信问题求助

[复制链接]
844|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)错误了, 那就从这里下手咯.

使用特权

评论回复
5
huanghuac| | 2014-10-31 12:23 | 只看该作者

另外, ABC 也可以放在一个总线里调试的.

使用特权

评论回复
6
happy_10| | 2014-10-31 12:24 | 只看该作者
检查一下A发送的帧类型(标准、扩展)和B接收的帧类型

使用特权

评论回复
7
llia|  楼主 | 2014-10-31 12:26 | 只看该作者
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;   

使用特权

评论回复
8
llia|  楼主 | 2014-10-31 12:26 | 只看该作者
加入了上面部分就好了,我寻思着,是不是没有设定IO的速度,导致两边的速率出现可能不太一致

使用特权

评论回复
9
llia|  楼主 | 2014-10-31 12:26 | 只看该作者
但是,AC BC间的如何解释?标准的CAN设备适应能力强?

使用特权

评论回复
10
huanghuac| | 2014-10-31 12:27 | 只看该作者
恭喜啊,厉害

使用特权

评论回复
11
llia|  楼主 | 2014-10-31 12:29 | 只看该作者
嘿嘿,结贴了,阶段性成果啊

使用特权

评论回复
12
llia|  楼主 | 2014-10-31 12:29 | 只看该作者
多谢大家,结贴了啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

961

主题

8893

帖子

4

粉丝