UART是 Universal Asynchronous Receiver/Transmitter的简称,即通用异步收发器。
UART数据帧包含起始位、数据位、校验位和停止位,如下图所示。
空闲位:在空闲时处于逻辑1(高电平状态),代表无数据传输。
起始位:发送1位逻辑0(低电平),表示开始传输数据。接收方依靠检测起始位来判断是否需要接收数据。
数据位:数据位是待传输的有效数据,长度为5~8位,具体长度需要收发双方约定。LSB是Least Significant Bit的简称,表示最低有效位;MSB是Most Significant Bit的简称,表示最高有效位。
校验位:长度为1,奇校验(ODD) / 偶校验(EVEN) / 1校验(MARK) / 0校验(SPACE) /无校验(NONE)可选。奇校验(ODD) 和偶校验(EVEN)为奇偶校验方式,当数据位中逻辑1为奇数个时,奇校验为1,偶校验为0;当数据位中逻辑1为偶数个时,奇校验为0,偶校验为1。1校验(MARK) 和0校验(SPACE)为固定校验方式,1校验(MARK)始终为1,0校验(SPACE)始终为0。无校验(NONE)表示没有校验位。
停止位:发送逻辑1(高电平),表示数据传输结束,长度1/1.5/2可选。