CAN通信管脚重映射

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,我们可以重映射到其他两组

CAN通信管脚重映射_第1张图片CAN通信管脚重映射_第2张图片        CAN通信管脚重映射_第3张图片

假如原来的工程是配置在PA11和PA12上的,新工程是配置在PD0和PD1上的,有两种解决办法

4. 解决问题

1), 直接使用CubeMX重新配置生成初始化部分,覆盖原有工程初始化CAN通信管脚重映射_第4张图片

2), 手动修改原有工程的初始化部分管脚映射,并添加重映射寄存器配置。两种方法均可。

不添加重映射寄存器,原有工程在新工程是无法运行的,通信同步上,我们将原有工程添加重映射配置,并修改PA11和PA12为PD0和PD1

CAN通信管脚重映射_第5张图片

其实可以通过下面的图片清楚的知道重映射

CAN通信管脚重映射_第6张图片

如果是重映射到PD0和PD1使用

__HAL_AFIO_REMAP_CAN1_3()

如果是重映射到PB8和PB9则使用

__HAL_AFIO_REMAP_CAN1_2(),注释已经很详细说明了,这里就不在赘述。

重映射修改完成后,对工程进行测试,250k位速率,10ms发送一帧扩展帧,

CAN通信管脚重映射_第7张图片

可以看到通信驱动正常,在此基础上可以添加其他高层协议功能。

5. 参考文档

序号

文献

1

STM32F103RM

如果你喜欢,对你有帮助,请分享给更多需要的猿友,点赞,分享,看一看

CAN通信管脚重映射_第8张图片

长按识别二维码关注

你可能感兴趣的:(CAN通信管脚重映射)