很简单!UART通讯是怎么实现的
一、UART的定义
UART是通用异步收发器 (Universal Asynchronous Receiver/Transmitter),行业内通常多称其为串口。UART是全双工通讯机制,即发送和接收是相对独立的两个线,发送和接收可以同时进行。
为什么叫异步?
原因是它不带时钟同步信号。
二、UART的连接方式

UART由两个数据线相连,芯片1的TX连接芯片2的RX,芯片1的RX连接芯片2的TX,当然,他们直接还要用GND的连接。
三、波特率
波特率(bandrate),指的是串口通信的速率,也就是串口通信时每秒钟可以传输多少个二进制位。比如每秒钟可以传输9600个二进制(传输一个二进制位需要的时间是1/9600秒,也就是104us),波特率就是9600。
我们目前工作中常用的单片机或者一些高端的嵌入式,它们的波特率一般有9600、115200等,
重点:UART因为采用单数据线传输,没有参考时钟,因此收发端必须采用相同的波特率才能通讯解析数据,且两端时钟误差不能太大,否则会出现乱码。
四、通讯数据格式

1.串口空闲时是高电平,当信号从高变低时,认为是起始位。
2.串口是首先传输低位,再传输高位,不同于I2C、SPI等信号传输是先传输高位
3.串口传输字节中的bit位的时间宽度=1/波特率
五、串口通讯分类
按照数据传送方向分为:
• 单工:
数据传输只支持数据在一个方向上传输

• 半双工:
允许数据在两个方向上传输,但是,在某一时刻,只允许数据在一个方向上传输,
它实际上是一种切换方向的单工通信;

• 全双工:
允许数据同时在两个方向上传输,因此,全双工通信是两个单工通信方式的结合,
它要求发送设备和接收设备都有独立的接收和发送能力。

按通信方式分为:
• 同步通信:带时钟同步信号传输。-SPI,IIC通信接口
• 异步通信:不带时钟同步信号。-UART(通用异步收发器),单总线
————————————————
文章来源:XinAosi