USART介绍
USART通讯是一种广泛使用的在硬件上使用的异步通讯协议。
USART通信可以自定义通讯协议。
USART是串口通信,用于2台设备之间的直接通信,其接口接线方式:
USART通讯过程
数据不传输
当不传输数据时,UART数据传输线通常保持高电平。
起始位
开始数据传输,发送端的会将传输线从高电平拉到低电平并保持1个时钟周期,当接收端检测到高到低电压跃迁时,便开始以波特率对应的频率读取数据帧中的位。
数据帧
数据帧包含所传输的实际数据。如果使用奇偶校验位,数据帧长度可以是5位到8位。
在不使用奇偶校验位的情况下,数据帧长度可以是9位。
在大多数情况下,数据以最低有效位优先方式发送。
奇偶校验
由于数据传输可以受到各种不确定因素导致出错,就需要使用奇偶校验来一定程度上确保数据的稳定性。
接收端读取数据帧后,将计数值为1的位,检查总数是偶数还是奇数。如果奇偶校验位为0(偶数奇偶校验),则数据帧中的1或逻辑高位总计应为偶数。如果奇偶校验位为1(奇数奇偶校验),则数据帧中的1或逻辑高位总计应为奇数。
当奇偶校验位与数据匹配时,UART会认为传输未出错。但是,如果奇偶校验位为0,而总和为奇数,或者奇偶校验位为1,而总和为偶数,则UART认为数据帧中的位已改变。