UART ( universal asynchronous receiver-transmitter)是一种采用异步串行通信方式的通用异步收发传输器;它在发送数据时将并行数据转换成串行数据来传输,在接收数据时将接收到的串行数据转换成并行数据。UART串口通信需要两根信号线来实现,一根用于发送,另外一根接收。
数据格式:
UART协议一帧数据由4部分组成:
这里拓展几种串口校验方式:
无校验(no parity):不使用校验。
奇校验(odd parity):如果数据位中“1”的数目是偶数,则校验位为“1”,如果“1”的数目是奇数,校验位为“0”。
偶校验(even parity):如果数据为中“1”的数目是偶数,则校验位为“0”,如果为奇数,校验位为“1”。
mark parity:校验位始终为1(不常用)。
parity:校验位始终为0(不常用)。
传输速率
串口通信的速率用波特率表示,它表示每秒传输二进制数据的位数,单位是bit/s (位/秒),简称bps;
常用的波特率有9600、19200、38400、57600以及115200等。
在UART通信中,两个UART直接相互通信,发送UART将来自CPU等控制设备的并行数据转换为串行形式,并将其串行发送到接收UART,接收UART然后将串行数据转换回接收设备的并行数据,此过程主要由2个接口完成:
串口电平标准:
串口按电气标准分包括: