STM32F042 基于CubeMX HAL库CAN的配置

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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。

 

设置为接收,状态

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值