can错误处理

[复制链接]
 楼主| 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 | 显示全部楼层
已经解决了
嘴角的好望角 发表于 2019-1-11 08:55 | 显示全部楼层
CAN通信会在发送的时候也会接收自己发出去的报文。CAN通信错误往往不是一个一个出现,而是由于一个错误而导致更多的错误。
通讯不上 发表于 2024-4-30 08:40 | 显示全部楼层

怎么解决的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

126

主题

393

帖子

2

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

126

主题

393

帖子

2

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