UART串口通讯协议

一、UART定义

        UART 通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART,是一种通用的串行异步全双工数据收发传输器(总线)。

  1. 异步:在串口通信过程中没有对应的统一时钟线,只有发送TX接收RX和地线GND.

  2. 全双工:指的是在串口通信过程中,主机和从机可以同时接收和发送数据。

  3. 串行:只数据的发送与接收均通过一根线逐位进行传输。

二、UART协议

       由于串口协议没有统一的时间线,所以为了能统一发送和接收一帧数据相邻位间的时间间隔,需要在传输前约定好双方采用统一的波特率(即每秒传输的位数(bit)),从而使发送和接受双方以相同的时间间隔来发送和接受下一位的数据。

串口数据包的基本组成

我们可以看到数据线TX与RX在空闲状态置高电平,一帧数据由一位起始位、8位数据位、一位校验位和一位停止位组成。

起始位:由1个逻辑 0 的数据位表示

结束位:由 0.5、 1、 1.5 或 2 个逻辑 1 的数据位表示

有效数据:在起始位后紧接着的就是有效数据,有效数据的长度常被约定为 5、 6、 7 或 8 9位长

校验位:可选,为的是数据的抗干扰性。

校验方法分为:

1-奇校验(odd)、   2-偶校验(even)

3-0 校验(space)、 4-0校验(mark)

5-无校验(noparity)

三、example

下图是uart协议传输一个”A”(8-bit,hex码为0x41)字符通过示波器的uart解码而得到的波形示意图

发布了25 篇原创文章 · 获赞 6 · 访问量 3522

猜你喜欢

转载自blog.csdn.net/bojin4564/article/details/105230974