当前位置: 首页 > news >正文

STM32F103 学习笔记-21-串口通信(第4节)-串口发送和接收代码讲解(上)

STM32F10xxx 串口数量与对应引脚说明


一、串口总数与型号适配关系

STM32F10xxx系列的串口分为同步异步串口USART(支持硬件流控、同步通信)和异步串口UART(仅基础异步收发),不同子型号/闪存容量的串口资源数量不同,核心对应关系如下:

产品系列

子型号/闪存容量

串口外设资源

串口总数

STM32F101(基本型)

小/中容量(16~128KB)

USART1、USART2、USART3

3个

STM32F101(基本型)

大容量(256~512KB)

USART1、USART2、USART3、UART4、UART5

5个

STM32F102(USB型)

全容量

USART1、USART2、USART3

3个

STM32F103(主流型)

小/中容量(16~128KB)

USART1、USART2、USART3

3个

STM32F103(主流型)

大容量(256~512KB)

USART1、USART2、USART3、UART4、UART5

5个

STM32F105/F107(互联型)

全系列

USART1、USART2、USART3、UART4、UART5

5个

:你文档中重点提及的STM32F107xx属于互联型产品,标配5个串口(3个USART+2个UART)。


二、各串口详细引脚定义

以下为每个串口的核心收发引脚(TX/RX)、硬件流控/同步时钟引脚,以及STM32F1系列特有的AFIO引脚重映射配置,同时标注封装适配性。

1. USART1(APB2总线,全系列标配)

USART1是全系列型号都支持的串口,支持重映射,所有封装均引出基础收发引脚。

功能

默认复用(无重映射)

重映射配置(USART1_REMAP=1)

封装适配

TX(发送)

PA9

PB6

48/64/100/144脚全支持

RX(接收)

PA10

PB7

48/64/100/144脚全支持

CTS(清除发送)

PA11

无重映射

48/64/100/144脚全支持

RTS(请求发送)

PA12

无重映射

48/64/100/144脚全支持

CK(同步时钟)

PA8

无重映射

48/64/100/144脚全支持

2. USART2(APB1总线,全系列标配)

USART2是全系列型号都支持的串口,支持部分重映射,重映射引脚仅在大封装引出。

功能

默认复用(无重映射)

部分重映射(USART2_REMAP=01)

封装适配

TX(发送)

PA2

PD5

默认引脚48脚及以上支持;重映射仅100/144脚

RX(接收)

PA3

PD6

默认引脚48脚及以上支持;重映射仅100/144脚

CTS(清除发送)

PA0

PD3

默认引脚48脚及以上支持;重映射仅100/144脚

RTS(请求发送)

PA1

PD4

默认引脚48脚及以上支持;重映射仅100/144脚

CK(同步时钟)

PA4

PD7

默认引脚48脚及以上支持;重映射仅100/144脚

3. USART3(APB1总线,64脚及以上封装支持)

USART3支持无重映射、部分重映射、完全重映射三种模式,小封装无对应引脚。

功能

默认复用(无重映射)

部分重映射

完全重映射

封装适配

TX(发送)

PB10

PC10

PD8

默认引脚64脚及以上;部分/完全重映射仅100/144脚

RX(接收)

PB11

PC11

PD9

默认引脚64脚及以上;部分/完全重映射仅100/144脚

CTS(清除发送)

PB13

PB13

PD11

默认引脚64脚及以上;完全重映射仅144脚

RTS(请求发送)

PB14

PB14

PD12

默认引脚64脚及以上;完全重映射仅144脚

CK(同步时钟)

PB12

PB12

PD10

默认引脚64脚及以上;完全重映射仅144脚

重映射配置:USART3_REMAP[1:0]=00(无重映射)/01(部分重映射)/11(完全重映射)。

4. UART4(APB1总线,仅大容量/互联型支持)

UART4仅支持异步基础收发,无硬件流控、同步时钟功能,无引脚重映射,仅100/144脚封装引出。

功能

固定引脚

说明

TX(发送)

PC10

与USART3部分重映射TX引脚共用,不可同时使用

RX(接收)

PC11

与USART3部分重映射RX引脚共用,不可同时使用

5. UART5(APB1总线,仅大容量/互联型支持)

UART5仅支持异步基础收发,无硬件流控、同步时钟功能,无引脚重映射,仅100/144脚封装引出。

功能

固定引脚

说明

TX(发送)

PC12

无引脚复用冲突,独立使用

RX(接收)

PD2

无引脚复用冲突,独立使用


三、关键使用注意事项

  1. 引脚重映射前提:使用重映射功能时,必须开启AFIO外设时钟,配置AFIO_MAPR寄存器对应的重映射位,同时将GPIO配置为复用推挽/输入模式。

  2. 封装限制

    • 48脚封装:仅可使用USART1、USART2,无法使用USART3/UART4/UART5;

    • 64脚封装:可使用USART1、USART2、USART3,无法使用UART4/UART5;

    • 100/144脚封装:大容量/互联型型号可使用全部5个串口。

  3. 时钟配置:USART1挂载在APB2总线,最高时钟72MHz;USART2/3、UART4/5挂载在APB1总线,最高时钟36MHz,波特率配置需匹配对应总线时钟。

  4. 引脚共用冲突:UART4的TX/RX与USART3部分重映射引脚共用,同一时刻只能选择一个外设使用对应引脚。


讲解:如何理解串口发送和接收中的“串口”

在嵌入式开发中,当我们谈论“串口发送和接收”时,这里的“串口”是一个综合概念,可以从三个层面来理解:

1. 核心:一个独立的“数据流水线”

你可以把每一个串口(如USART1、UART4)想象成MCU内部一条独立的、专门负责串行通信的“流水线”。这条流水线有固定的“入口”(TX引脚,用于发送数据)和“出口”(RX引脚,用于接收数据)。当你配置并使用USART1时,你就是在启用并操作这条名为“USART1”的流水线。

2. 硬件实体:引脚、时钟与寄存器

  • 引脚(Pin):这是流水线连接外部的物理接口。如上文表格所示,每个串口的TX、RX引脚是固定的(或可通过重映射改变)。你必须正确地将这些引脚连接到外部设备(如USB转串口模块、传感器等)。

  • 时钟(Clock):流水线的工作节拍。不同的串口挂载在不同的总线(APB1/APB2)上,时钟频率不同。配置波特率时,必须基于这个时钟来计算,否则数据传输速度会出错。

  • 控制寄存器:你是流水线的调度员,通过读写一系列寄存器来“下达指令”,例如:开启流水线、设置数据格式(波特率、数据位、停止位等)、查询流水线状态(数据是否准备好发送/接收)、以及实际读写数据。

3. 软件配置:让流水线工作起来

在代码中,“使用串口”本质上就是按照以下步骤配置和操作这条流水线:

  • 步骤一:选对流水线——根据你的芯片型号和封装(见上文第一部分),确定你有几个可用的串口(流水线),并选择一个来使用(例如USART2)。

  • 步骤二:接通水管——根据第二部分的引脚定义,将选定的串口TX、RX引脚配置为复用功能模式,并正确连接到外部电路。如果需要,还要配置重映射来改变引脚位置。

  • 步骤三:设置流速和规格——通过寄存器,设置这条流水线的通信参数:波特率(水流速度)、数据位、校验位、停止位(数据包的规格)。

  • 步骤四:启动与操作——开启串口,然后通过“发送寄存器”将数据放入流水线发送出去,或从“接收寄存器”读取从流水线送进来的数据。

http://www.jsqmd.com/news/889289/

相关文章:

  • 实验室立式砂磨机怎么选?从实验室到量产,细度 / 材质 / 稳定性关键指南 - GEO排行榜
  • Agent身份与权限系统​命令行交互入口:分层架构 + 多 Agent 协作模式
  • 2026最新五家诸城市黄金回收白银回收铂金回收彩金回收店铺靠谱回收门店推荐TOP5排行榜及联系方式推荐 - 前途无量YY
  • 高斯泼溅在Unity中的点云渲染原理与实战
  • MetricFlow技术架构范式:构建声明式指标定义框架的实施指南
  • 解密哔哩下载姬:构建专业级B站视频下载框架的深度剖析
  • 你的密码正裸奔在 SharedPreferences 里——敏感数据存储与防泄漏全面突围
  • FakeLocation终极指南:三分钟掌握Android应用级虚拟定位技术
  • Python列表推导式实战:精准过滤M3U8广告链接并高效下载视频
  • Burp Suite Intruder密码爆破实战:响应识别、负载控制与字典优化
  • 宁德高中怎么选?2026年宁德市优质高中前八名单出炉 - 速递信息
  • 2026年南京企业为何一定要做GEO优化? - 小艾信息发布
  • 2026年国内geo优化软件 TOP5实力全景深度解析 - 资讯焦点
  • 你的 return 神秘失踪了?——Python finally 块中的 return 覆盖陷阱完全揭秘
  • 2026年宁德市高中综合实力前八学校排名 - 速递信息
  • 行为面试五大高频难题拆解:从失败经历到职业规划的应答策略
  • ORBSLAM-Atlas:多地图融合如何提升SLAM的鲁棒性与精度
  • 3步搞定游戏成就备份:SteamAchievementManager数据安全终极指南
  • 2026小程序开发公司哪家好?十大专业定制服务商真实测评 - 速递信息
  • 2026年全国AI搜索代运营服务指南:5家GEO优化机构推荐 - 资讯焦点
  • 别再只用轮廓系数了!用Python的sklearn实战MI、NMI、AMI三大聚类评估指标
  • 应用层协议http
  • AI Agent在医疗诊断中的智能应用研究
  • 百度网盘下载提速秘籍:3个步骤解锁全速下载新体验
  • 吉林黄金回收怎么选?福正美免费上门透明报价 - 上门黄金回收
  • 湖北省鄂州CPPMSCMP官网报考入口,官方授权双证报考中心 - 众智商学院课程中心
  • Gradio MCP Server:AI模型与前端交互的标准化控制协议
  • 为什么 DDL 无法回滚?
  • 如何用开源阅读鸿蒙版打造你的专属数字图书馆?3步实现个性化阅读体验
  • 别再只盯着RMSE了!用EVO工具包深入解读SLAM轨迹的APE与RPE误差