STM32F042 基于CubeMX HAL库CAN的配置
首先说说使用时候的两个坑。
(1)要使能Swap PA9/10 –>PA11/12,这个时候PA11和PA12引脚才能出现。
(2)我第一步用的是回环模式。
大致是这样的。
While
{
SendCanMessage();
}
Can_interrupt
{
HAL_CAN_Receive_IT(hcan,CAN_FIFO0);
}
却发现只能中断一次不能返回了。
原因,配置好CAN后状态为HAL_CAN_STATE_READY。
设置为接收,

本文介绍了在STM32F042中使用CubeMX和HAL库配置CAN接口的过程,特别提到了配置过程中需要注意的两个关键点:启用PA9/10到PA11/12的交换以使能CAN引脚,以及在回环模式下正确处理接收中断。在实践中发现,当从HAL_CAN_STATE_BUSY_RX0状态发送数据后,如果没有在中断服务程序中重新设置为接收状态,会导致无法继续接收数据。解决方案是在中断服务程序中确保接收状态的正确设置。
最低0.47元/天 解锁文章
5112

被折叠的 条评论
为什么被折叠?



