一、USART 是什么?先建立直觉USART 全称Universal Synchronous/Asynchronous Receiver/Transmitter, 通用同步/异步收发器。日常说的「串口」、「UART」指的都是它的异步模式(不带时钟线), 这也是嵌入式开发中 99% 的场景。和其他协议的直观对比SPI:4 根线,全双工,有时钟,速度最快,主从式 I2C:2 根线,半双工,有时钟,多设备,速度中等 UART:2 根线,全双工,无时钟,点对点,使用最简单 UART 连接方式: 设备A 设备B TX ──────────→ RX RX ←────────── TX GND ─────────── GND ← GND 必须共地!UART 最大特点:不需要时钟线,双方约定好波特率(速度)就能通信, 是嵌入式调试输出的首选接口(printf 重定向到串口)。二、异步通信原理——没有时钟怎么同步?没有时钟线,双方靠什么对齐数据?答:靠起始位 + 约定波特率空闲状态(无数据):TX 线保持高电平 发送一帧数据(8 位数据为例): TX: ─────┐ D0 D1 D2 D3 D4 D5 D6 D7 ┌───── │ │ 空闲高 └──[S][b0][b1]