1. STM32串口脚组更换实战指南
作为一名嵌入式开发工程师,我经常遇到需要灵活配置串口引脚的情况。今天分享一个STM32 HAL库环境下更换UART脚组的完整方案,以USART1切换到USART2为例。这个技巧在PCB布线受限或需要复用引脚时特别实用。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 硬件原理与引脚分析
2.1 STM32串口硬件架构
STM32F103系列最多可提供5个USART/UART接口(依具体型号而定),每个接口都有默认的引脚映射。以C8T6型号为例:
- USART1:PA9(TX)/PA10(RX) - 默认配置
- USART2:PA2(TX)/PA3(RX)
- USART3:PB10(TX)/PB11(RX)
这些引脚不是固定绑定的,通过重映射功能可以切换到备用引脚(如USART1可重映射到PB6/PB7)。但今天我们重点讨论使用不同USART模块的脚组切换。
2.2 引脚复用原理
STM32的GPIO通过AFIO(Alternate Function I/O)模块实现功能复用。在CubeMX中配置时,系统会自动设置相应的复用寄存器。关键点在于:
- 时钟使能:必须同时使能USART外设和对应GPIO端口的时钟
- 复用功能选择:GPIO_Mode_AF_PP模式用于TX,GPIO_Mode_IN_FLOATING用于RX
- 电气特性:USART通信建议配置GPIO速度为50MHz
注意:不同系列STM32的复用功能编号可能不同,务必查阅对应型号的《参考手册》中"Alternate function mapping"章节
3. 硬件连接实操
3.1 核心板接口识别
根据提供的核心板图示,我们需要:
- 找到USART2的默认引脚PA2(TX)和PA3(RX)
- 移除原先连接USART1(PA9/PA10)的跳线帽
- 使用杜邦线连接:
- 开发板PA2 → USB转串口模块的RXD
- 开发板PA3 → USB转串口模块的TXD
重要提示:TX和RX需要交叉连接!这是串口通信的基本规则
3.2 电平匹配检查
确保双方电平兼容:
- STM32是3.3V电平
- 常见PL2303、CH340等USB转串口模块多为5V或3.3V
- 若模块为5V电平,
