stm32f103端口重映射
在STM32F103系列微控制器中,端口重映射(Pin Remapping) 是一种将外设功能(如USART、SPI、定时器等)从默认引脚重新映射到其他备用引脚的功能。这种设计可以帮助用户灵活配置硬件布局,避免引脚冲突。
端口重映射的步骤
-
开启AFIO时钟
重映射功能依赖于复用功能I/O(AFIO)模块,需先使能其时钟:RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); -
配置重映射寄存器
使用库函数GPIO_PinRemapConfig()设置重映射模式。不同外设有不同的重映射选项:// 示例:将USART1从PA9/PA10重映射到PB6/PB7(部分重映射) GPIO_PinRemapConfig(GPIO_PartialRemap_USART1, ENABLE); -
配置新的GPIO引脚
将目标引脚设置为复用功能模式:GPIO_InitTypeDef GPIO_InitStruct; GPIO_InitStruct.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7; // PB6和PB7 GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF_PP; // 复用推挽输出 GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &GPIO_InitStruct);
常用外设的重映射选项
-
USART1
- 默认引脚:PA9(TX)、PA10(RX)
- 重映射选项:
- 部分重映射:PB6(TX)、PB7(RX)
- 完全重映射:PC10(TX)、PC11(RX)
-
SPI1
- 默认引脚:PA4~PA7
- 重映射引脚:PB3~PB5
-
定时器(TIM2)
- 默认通道:PA0~PA3
- 重映射通道:PB8~PB11
注意事项
- AFIO时钟必须开启,否则重映射无法生效。
- 部分重映射 vs. 完全重映射:
- 部分重映射仅改变部分引脚,其他引脚仍保留默认功能。
- 完全重映射会完全迁移所有相关引脚,原默认引脚将不再作为外设功能使用。
- 查阅数据手册:不同型号的STM32F103可能支持不同的重映射组合,需参考《STM32F103xx参考手册》确认细节。
- 冲突检查:确保重映射后的引脚未被其他功能占用(如JTAG/SWD调试接口)。
示例:将USART1重映射到PB6/PB7
#include "stm32f10x.h"
void USART1_Remap_Config() {
// 1. 开启AFIO和GPIOB时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO | RCC_APB2Periph_GPIOB, ENABLE);
// 2. 配置USART1部分重映射
GPIO_PinRemapConfig(GPIO_PartialRemap_USART1, ENABLE);
// 3. 配置PB6(TX)和PB7(RX)为复用推挽模式
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStruct);
// 4. 继续配置USART1参数(略)
}
通过合理使用端口重映射,可以优化PCB布局并解决引脚资源冲突问题。建议结合STM32CubeMX工具进行可视化配置。
stm32cubeF1 1.3.1端口重映射被禁用的原因和解决方法
现象:如果使用了端口重映射功能,只要一运行到类似于__HAL_AFIO_REMAP_TIM4_ENABLE();这样的语句,就会推出调试状态,JTAGH或者SW的调试端口就被禁用了。 原因:这个语句
APM32F003F6P6_IO重映射_能否修改选项字节配置IO口重映射
APM32F003F6P6_IO重映射_能否修改选项字节配置IO口重映射
资料下载
李鸿洋
2022-11-09 21:03:40
STM32F103单片机JTAG端口重映射
STM32单片机复位后,JTAG口默认是被占用的。如果想将JTAG占用的几个IO口设置为普通IO口,就需要进行端口重映射。复位后端口默认功能可以
资料下载
王银喜
2021-12-04 15:36:08
stm32f103与stm32f407的引脚复用与重映射
stm32f103的AFIO:stm32f103的AFIO寄存器如下,使用前都要打开AFIO时钟:AFIO_MAPR:配置复用功能重映射AFIO
资料下载
佚名
2021-12-02 16:21:13
STM32F103与F407复用映射差异
别。默认复用功能:只需要开启该外设的时钟和相对应的GPIO时钟,然后再配置相应外设即可。(例:开启I2c时钟和PB6和PB7时钟)重映射复用:不仅要开启该外设的时钟和相对应的GPIO时钟,还要开启AFIO时钟才能开始配置外设。st
资料下载
杨海清
2021-11-29 16:51:07
STM32F103单片机JTAG端口重映射的相关资料推荐
STM32单片机复位后,JTAG口默认是被占用的。如果想将JTAG占用的几个IO口设置为普通IO口,就需要进行端口重映射。复位后端口默认功能可以
STM32F103C8 USART1串口重映射实现方法
STM32F103C8 USART1串口重映射实现方法代码我们知道,F103的usart1串口是PA8PA9的复用功能,我们在使用的时候直接配置
如何在STM32F103上进行CAN通信的管脚重映射配置和使用
CAN通信管脚重映射1. 摘要本篇笔记主要介绍,如何在STM32F103上进行CAN通信的管脚重映射配置和使用2. 准备工作1), IAR 8.
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- dtmb信号覆盖城市查询
- EDA是什么?有什么作用?
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 如何进行编码器的正确接线?接线方法介绍
- 什么是场效应管?它的作用是什么?
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- 苹果nfc功能怎么复制门禁卡
- amoled屏幕和oled区别
- 单片机和嵌入式的区别是什么
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 通讯隔离作用
- 苹果笔记本macbookpro18款与19款区别
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机