通用异步收发传输器(Universal Asynchronous Receiver and Transmitter),通常称作UART,UART通信在工作中相当常见,属于异步通信,通信的双方不需要同步时钟,与之不同的是:IIC和SPI,它们是同步通信,通信的双方需要时钟线。在很多的SOC内部都集成了UART,由两部分组成:一个将串行比特流转换成微处理器可以使用的并行数据接收器(Rx)和一个将来自微处理器的并行数据转换为串行形式发送的发送器(Tx)。
-
起始位:先发出一个逻辑“0”信号,表示传输字符的开始。
-
数据位:可以是5~8位逻辑“0”或“1”。
-
校验位:数据位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验)。如:0100 0010 1 (奇校验) 0101 0010 1 (偶校验)
-
停止位:它是一个字符数据的结束标志。可以是1位、1.5位、2位的”1“。
-
空闲位:处于逻辑“1”状态,表示当前线路上没有数据传送。
注意:
UART发送数据时先发送低位(LSB)。
IIC发送数据时先发送高位(MSB)。
波特率:
此参数容易和比特率混淆,其实他们是有区别的。
UART中的波特率就可以简单的认为是比特率,即每秒传输的位数(bit)。
例如:
当UART的参数设置为:8位数据位、无校验、1位停止位,波特率115200,
那么每秒可以发送 ( 115200 / (1+8+1) ) / 8 = 1440 个字节的数据。