关于两个板子的CAN通信的疑问!

2019-07-21 01:57发布

最近一直在调CAN通信正常模式下的两块电路板之间的数据收发。两块电路板都是用的STM32F103C8T6 + TJA1050  。
两块板子的LOOPBACK模式均调试通过,现在卡在正常模式下无法稳定的正确收发数据。今天碰到了代码中发送数据0X11,0X22,但是查看KEIL里面的CAN发送的数据不知道为何多出来一个0X20,而且总是在第五个数据的地方出现,但是接收到的数据又是只有0X11,0X22,这是为什么?附图如下:
 这个是发送端看到的发送数据


 这个是发送端的发送数据代码



 这个是接收端接收到的数据



请教各位这个问题是怎么回事呢?

还有问题如:
1.断开两块电路板的CANH和CANL连接,接收端绿灯依然常亮(接收端收到数据并判断正确之后绿灯常亮,否则红灯闪烁),这个如何解释?
2.发送端和接收端上电顺序对结果有没有影响?
3.两块电路板需要共地吗?


最后,希望能有高人指点指点我!!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
zc123
1楼-- · 2019-07-22 05:45
双CAN是直连的,还是接入到了CAN局域网络测试的,如果是直连的,这个我解释不了!
如果是接收的局域网络里,倒是好理解:
CAN通讯采用数据块编码的方式,可使不同的节点接收到相同的数据,然后再根据各节点内CAN配置选择处理还是丢弃该信息。
也就是接入CAN网络的话,每一个CAN节点都会接收到网络中的所有数据,然后根据需求处理需要的数据。
我之前写的 http://www.cnblogs.com/zc110747/p/4868449.html, 也许有帮助
智能化控制_888
2楼-- · 2019-07-22 05:49
维拉帕克 发表于 2015-10-22 16:12
回复【4楼】 zc123 :
---------------------------------

楼主,请问你的这个调试窗口在哪里找到的,我用keil5没有
星星王
3楼-- · 2019-07-22 06:35
 精彩回答 2  元偷偷看……
gelin_ss
4楼-- · 2019-07-22 12:18
zc123 发表于 2015-10-23 09:58
双CAN是直连的,还是接入到了CAN局域网络测试的,如果是直连的,这个我解释不了!
如果是接收的局域网络里 ...

我现在遇到的问题是,环回模式正常(103mini和一个407最小系统),但连起来不行,我用的是3.3V的can驱动器模块VP230.
打算先到单位找台手持示波器看看,俺是在家里鼓捣。
好好学
5楼-- · 2019-07-22 15:13
zc123 发表于 2015-10-23 09:58
双CAN是直连的,还是接入到了CAN局域网络测试的,如果是直连的,这个我解释不了!
如果是接收的局域网络里 ...

兄弟  想问下 设置为标识符列表模式后  can-filterid  和can-filtermaskid  如何配置 ,麻烦交下,谢谢
zc123
6楼-- · 2019-07-22 16:51
 精彩回答 2  元偷偷看……

一周热门 更多>