USART

目录

基本概念

通用同步异步收发传输器(USART)是一种全双工串行通信接口,设备通过定义明确的帧结构进行数据交换,支持同步和异步两种工作模式。 对比

名称 引脚 双工 时钟 电平 设备
USART TX、RX 全双工 异步 单端 点对点
I2C SCL、SDA 半双工 同步 单端 多设备
SPI SCLK、MOSI、MISO、CS 全双工 同步 单端 多设备
CAN CAN_H、CAN_L 半双工 异步 差分 多设备
USB DP、DM 半双工 异步 差分 点对点
# 硬件连接方式
../图源/USART硬件连接.png
../图源/USART硬件连接.png

信号电平标准

电平标准 逻辑0 逻辑1 应用场景
TTL 0V 3.3V/5V 板内通信
RS232 +3V to +15V -3V to -15V 长距离通信
RS485 -1.5V to -6V +1.5V to +6V 工业现场

关键参数

  • 波特率:串口通信的速率

  • 起始位:标志一个数据帧的开始,固定为低电平

  • 数据位:数据帧的有效载荷,1为高电平,0为低电平,低位先行

  • 校验位:用于数据验证,根据数据位计算得来(可设置)

  • 停止位:用于数据帧间隔,固定为高电平(一般为1位)

帧结构组成

典型数据帧格式:

image-20251130204030105
image-20251130204030105
image-20251130204048910
image-20251130204048910

帧结构参数配置表:

组成部分 位数 功能说明
起始位 1位 标志传输开始,将线路从空闲高电平拉低
数据位 5-9位 有效数据载荷,通常为8位
校验位 0/1位 奇偶校验,用于错误检测
停止位 1/1.5/2位 标志帧结束,返回高电平状态

通信模式对比

模式 数据流向 硬件需求 应用场景
全双工 同时双向传输 TX、RX独立 实时数据交互
半双工 双向交替传输 单数据线 多设备共享总线
单工 单向传输 单向线路 传感器数据读取

波特率

波特率与精度关系:

实际波特率误差(%) = |(实际值 - 理论值)| / 理论值 × 100%
要求:误差 < 2.5% (通常标准)

常用波特率配置表:

波特率 时钟源要求 适用场景
9600 低频时钟 长距离通信
115200 标准时钟 常用速率
460800 高频时钟 高速传输
1M以上 专用时钟 特殊应用

时序例子

../图源/USART时序例子2.png ../图源/USART时序例子1.png

HAL库中使用