CAN通信管脚重映射
1. 摘要
本篇笔记主要介绍,如何在STM32F103上进行CAN通信的管脚重映射配置和使用
2. 准备工作
1), IAR 8.3.1
2), 运行正常的CAN通信工程
3. 问题指出
STM32F103VC芯片100脚的封装,CAN可以重映射到三组管脚,分别是PA11和PA12为一组,PB8和PB9为一组,PD0和PD1为一组。通过CubeMX配置的话默认是配置到PA11和PA12,我们可以重映射到其他两组
假如原来的工程是配置在PA11和PA12上的,新工程是配置在PD0和PD1上的,有两种解决办法
4. 解决问题
1), 直接使用CubeMX重新配置生成初始化部分,覆盖原有工程初始化
2), 手动修改原有工程的初始化部分管脚映射,并添加重映射寄存器配置。两种方法均可。
不添加重映射寄存器,原有工程在新工程是无法运行的,通信同步上,我们将原有工程添加重映射配置,并修改PA11和PA12为PD0和PD1
其实可以通过下面的图片清楚的知道重映射
如果是重映射到PD0和PD1使用
__HAL_AFIO_REMAP_CAN1_3()
如果是重映射到PB8和PB9则使用
__HAL_AFIO_REMAP_CAN1_2(),注释已经很详细说明了,这里就不在赘述。
重映射修改完成后,对工程进行测试,250k位速率,10ms发送一帧扩展帧,
可以看到通信驱动正常,在此基础上可以添加其他高层协议功能。
5. 参考文档
序号 | 文献 |
---|---|
1 | STM32F103RM |
如果你喜欢,对你有帮助,请分享给更多需要的猿友,点赞,分享,看一看