UART 一帧里,**数据位(Data Bits)** 决定有效载荷宽度。常见为 5、6、7、8 位,现代嵌入式与串口调试助手默认几乎都是 **8N1**(8 数据位、无校验、1 停止位)。
### 各宽度含义
- **8 位**:可装下完整字节,兼容 ASCII 与任意二进制(HEX、协议帧),通用性最强。
- **7 位**:早期电信/电传与部分纯文本协议,最高位常被校验占用;今日少见。
- **5/6 位**:更老的终端或专用设备,几乎只在维护古董硬件时遇到。
### 对速率与解码的影响
帧总 bit 数 = 1 起始 + 数据位 + 校验(0/1) + 停止位。同样波特率下,数据位越少有效字节吞吐略有不同,但现代系统瓶颈很少卡在「7 还是 8」。真正致命的是 **两端数据位不一致**:发送 8 位、接收按 7 位采样,会把停止位错当成数据,表现为持续乱码或组帧失败。
### 调试建议
在 Web Serial / 桌面助手里显式选 8-N-1,与 MCU 的 UART_WordLength 对齐。仅当设备手册写明 7E1、7O1 等再改。用逻辑分析仪可看到数据位窗口宽度 = 数据位数 / 波特率。参数错误时优先改配置,而不是先怀疑线材或芯片损坏。
数据位选择的核心不是「越高越好」,而是 **与对端完全一致**;8 位是默认最优解,改动前先读手册。