针对stm32f103vct6或者其他芯片,在使用stm32cubemx配置can后,默认的CAN管脚是PA11,PA12,硬件PCB使用的是PB8,PB9,因此需要管脚重映射,但是cubemx配置后的代码里面缺少了重映射的两条命令,在HAL_CAN_MspInit函数内找到
/* USER CODE BEGIN CAN1_MspInit 0 */
/* USER CODE END CAN1_MspInit 0 */
在中间添加代码即可
__HAL_RCC_AFIO_CLK_ENABLE();
__HAL_AFIO_REMAP_CAN1_2();
别问我怎么发现的,通过stm32cubemx在github上的代码,逐行对照发现的,工程文件夹为CAN_Networking
免积分下载,分享给有需要的码农,受益于开源,所以支持开源