[CAN-bus/DeviceNet] 大家碰到过这样的现象吗?

[复制链接]
3506|9
 楼主| entepino 发表于 2010-12-1 22:50 | 显示全部楼层 |阅读模式
为何我的两个节点(两个PCB板)在接受周立功的CAN卡广播发送的时候,收到几次以后(每次都是向两个节点即两个PCB板广播发送),发了几次以后,其中一个PCB程序很容易程序死机咧?用周立功的CAN卡单独测试一个节点(我的PCB)都没有任何问题的。
 楼主| entepino 发表于 2010-12-1 22:59 | 显示全部楼层
顶一下。
westsfw 发表于 2010-12-2 13:10 | 显示全部楼层
是不是ID的问题,都是“广播”的话通信会很乱吧
lnskngdc 发表于 2010-12-2 15:13 | 显示全部楼层
如果是发送很频繁,导致一个节点发送完毕另一个节点还没发出,新的报文又来.
会产生发送错误如果错误太多则导致总线关闭
把发送间隔时间改成1秒,节点响应时间分开,比如延时个几毫秒之类的试试看.
 楼主| entepino 发表于 2010-12-2 22:43 | 显示全部楼层
有人说:检查你的程序,流程有问题,地址不匹配时的处理不当
请问:地址不匹配是什么意思?
lnskngdc 发表于 2010-12-3 09:03 | 显示全部楼层
网络中不能存在相同ID的节点.
taijitu520 发表于 2010-12-4 17:27 | 显示全部楼层
 楼主| entepino 发表于 2010-12-9 21:43 | 显示全部楼层
把另外一个节点改成延迟5毫秒,输出就没事了.还是没搞清楚具体的原因.
难道一个节点发送完毕另一个节点还没发出,新的报文又来.会产生发送错误吗?按CAN通讯原理,一个节点发送完毕另一个节点还没发出,新的报文又来,也不会产生发送错误啊?
奇怪!
lnskngdc 发表于 2010-12-10 13:34 | 显示全部楼层
在4楼不是说了么?
发送缓冲区被覆盖了
除非你使用"夭折命令",即:当节点未发送完成,可以通过检测寄存器得到.此时如果有新的报文来,不能立即响应报文,如果此时立即响应,会把缓冲区正在发送的报文后半部分冲掉,这是在发送比较密集的情况下.
楼主位做实验的波特率一定是低于500k了,所以会出现这种问题
hankchen86 发表于 2011-1-21 12:28 | 显示全部楼层
楼主的问题没说清楚,你的两个PCB节点的功能是只接收不发送呢,还是即接收又发送呢?
如果是即接收又发送,那么可能是像4楼所说的那样。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

214

主题

653

帖子

2

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