打印
[STM32F0]

请教当CAN接口(节点)拔掉再插上CAN发送死掉的问题

[复制链接]
2020|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
qq792368480|  楼主 | 2015-8-12 23:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
MCU用的是F0系列的072,工程是用CUBEMX生成的。
问题:我在MAIN大循环里隔一段时间就发一帧数据(发送正常),但CAN接口(节点)一旦拔掉之后再接上主循环就死掉了,其他中断还依旧正常,还能进入CAN接收中断,比如CAN接收中断接收一帧数据再回发是正常的,就是主循环好似被卡住了。
猜测是一直进入CAN错误中断,但我也采取了一旦触发错误中断就停止主循环发数据操作,
并重新初始化CAN,但重新再接上CAN接口(节点),主循环还是卡住。
不知道如何解决,这个问题很急很致命,不知道有没人遇到这种情况,知道的帮忙一下,谢谢!
沙发
qq792368480|  楼主 | 2015-8-13 11:11 | 只看该作者
ABOM: 自动离线(Bus-Off)管理
该位决定CAN硬件在什么条件下可以退出离线状态。
0: 离线状态的退出是在,软件对CAN_MCR寄存器的INRQ位进行置1随后清0后,一旦硬件检测到128次11位连续的隐性位,就退出离线状态;
1: 一旦硬件检测到128次11位连续的隐性位,自动退出离线状态。

解决方法:
Pcan.Init.ABOM = ENABLE;//使能自动离线

使用特权

评论回复
板凳
amanda_s| | 2015-8-13 14:05 | 只看该作者
楼主问题是已经自己搞定了?
后面是解决办法?

使用特权

评论回复
地板
UBC-Jason| | 2015-8-13 15:37 | 只看该作者
请问楼主用的是STM32F072C8T6么?有问题可以Q我,395877987

使用特权

评论回复
5
aundry| | 2015-8-14 19:16 | 只看该作者
当只剩下你自己一个节点的时候,CAN发送出错,达到128个错误之后,会自动离线
只有设置自动恢复,或者从新初始化进入Normal状态才可以

使用特权

评论回复
6
598330983| | 2015-8-14 22:13 | 只看该作者
CAN用哪儿了,不知道楼主要搞什么项目。

使用特权

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

本版积分规则

6

主题

15

帖子

0

粉丝