找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 9|回复: 0

STM32 USART串口通信的核心原理是什么?

[复制链接]
  • 打卡等级:无名新人
  • 打卡总天数:2
  • 打卡月天数:2
  • 打卡总奖励:211
  • 最近打卡:2026-02-06 11:44:28

57

主题

0

回帖

410

积分

管理员

积分
410
发表于 2026-2-6 19:27:29 | 显示全部楼层 |阅读模式
USART全称Universal Synchronous/Asynchronous Receiver/Transmitter,中文译为通用同步/异步收发器,支持同步和异步两种通信模式,其中异步通信(UART)应用最广泛,核心优势是无需时钟信号线,仅需TX(发送线)、RX(接收线)两根信号线即可实现双向通信,硬件布线简单,适用场景广泛(如调试打印、数据传输)。

其核心工作原理是“字符帧同步”,主机与从机通过约定的字符帧格式和波特率实现数据同步,无需额外时钟信号。  

USART异步通信的核心是字符帧格式,标准帧格式包含八个部分:起始位、数据位、奇偶校验位、停止位,部分场景可省略校验位。
起始位是字符帧的开始标志,固定为低电平(逻辑0),持续1个波特率周期;数据位是核心数据,可配置为8位或9位,通常采用8位数据位(最常用),数据传输顺序可配置为MSB优先(高位在前)或LSB优先(低位在前);
奇偶校验位用于校验数据传输的正确性,可配置为奇校验、偶校验或无校验,奇校验要求数据位与校验位中1的总数为奇数,偶校验要求1的总数为偶数,无校验则省略该位;
停止位是字符帧的结束标志,固定为高电平(逻辑1),可配置为1位、1.5位或2位,通常采用1位停止位。
数据传输时,主机将并行数据转换为串行数据,按字符帧格式逐位通过TX线发送,从机通过RX线逐位接收数据,按约定的帧格式解析出并行数据,实现数据传输。  

波特率是USART通信的另一核心参数,指单位时间内传输的二进制位数(单位:bps),表示通信速率,常用波特率有9600bps、19200bps、38400bps、115200bps等。
主机与从机必须配置相同的波特率,否则会导致数据采样错误,波特率误差需控制在3%以内,误差过大(超过3%)会导致数据传输错乱。
波特率由STM32的系统时钟分频得到,核心计算公式为:波特率=系统时钟频率/(16×分频系数),其中分频系数由USART的BRR寄存器配置,CubeMX会自动计算分频系数,但需确保系统时钟频率准确(优先使用外部晶振,精度更高)。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

B站视频|手机版|小黑屋|这堂芯课 ( 陕ICP备2024055690号-1 )

GMT+8, 2026-2-22 01:17 , Processed in 0.055127 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表