打印

can错误处理

[复制链接]
770|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
damoyeren|  楼主 | 2017-6-29 18:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
故障现象:使用MCP2515做了一个can通讯电路。能进行正常收发,但是当用户误操作把波特率设置错了以后就不能进行收发了,必须重新上电才ok。


原因分析:当can通讯发生错误后,程序没有进行can的错误处理,致使can总线错误存在或者can总线关闭。


问题:
1.故意把can1 和can2的波特率设置不一样,发送一帧数据,然后读取错误状态寄存器e**,显示接收被动错误。不明白的是明明是发送,怎么错误标志是接收被动错误和接收错误警告
2.如果can总线在正常收发过程中出现错误或者由于错误致使总线关闭,该怎么处理?我在数据手册里没有看到相关的错误处理的方法和恢复总线的方法。




相关帖子

沙发
damoyeren|  楼主 | 2017-6-29 18:31 | 只看该作者
最暴力的方法是复位,以恢复总线,但是用户数据就丢了,大神还有什么办法

使用特权

评论回复
板凳
yls0221| | 2017-6-30 15:34 | 只看该作者
可以检测到错误时,重新初始化CAN参数

使用特权

评论回复
地板
damoyeren|  楼主 | 2019-1-11 08:44 | 只看该作者
已经解决了

使用特权

评论回复
5
嘴角的好望角| | 2019-1-11 08:55 | 只看该作者
CAN通信会在发送的时候也会接收自己发出去的报文。CAN通信错误往往不是一个一个出现,而是由于一个错误而导致更多的错误。

使用特权

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

本版积分规则

126

主题

393

帖子

2

粉丝