erpengcui 发表于 2016-4-14 11:55:21

stm32 can 出错恢复

      大家好,我最近在使用stm32f105做双can通信,can驱动芯片使用的TJA1042,发现将canH canL 短路再放开以后,can出错恢复不回来?之前在K40上使用的时候没有这个问题,不知道这个情况大家有什么指导建议啊?谢谢啦

xmshao 发表于 2016-4-14 11:55:22

自动恢复功能开启没?

开启出错中断,强行将CAN重新初始化看看?

erpengcui 发表于 2016-4-14 12:14:30

我使用的cube 配置的can,没看到有自动恢复的参数,我再找找看,你按你指的方向找找看,:D
hcan1.Instance = CAN1;
hcan1.Init.Prescaler = 2;
hcan1.Init.Mode = CAN_MODE_NORMAL;
hcan1.Init.SJW = CAN_SJW_1TQ;
hcan1.Init.BS1 = CAN_BS1_8TQ;
hcan1.Init.BS2 = CAN_BS2_7TQ;
hcan1.Init.TTCM = DISABLE;
hcan1.Init.ABOM = DISABLE;
hcan1.Init.AWUM = DISABLE;
hcan1.Init.NART = DISABLE;
hcan1.Init.RFLM = DISABLE;
hcan1.Init.TXFP = DISABLE;
HAL_CAN_Init(&hcan1);

发表于 2016-4-14 17:56:30

楼主重新初始化一下CAN。

erpengcui 发表于 2016-4-22 15:09:19

这个我enable了一下hcan2.Init.ABOM = ENABLE; 就可以了,离线管理功能

xmshao 发表于 2016-4-24 17:05:20

erpengcui 发表于 2016-4-22 15:09
这个我enable了一下hcan2.Init.ABOM = ENABLE; 就可以了,离线管理功能

这就是自动离线管理功能。
页: [1]
查看完整版本: stm32 can 出错恢复