什么是UART
UART (
Universal Asynchronous Receiver/Transmitter,
通用异步收发器) 是一种常用的串行通信协议,用于在
计算机和外部设备之间传输数据。它是一种异步通信协议,也就是说数据的传输不需要事先建立好同步时钟信号。
UART,是一种广泛应用于嵌入式领域的
串行、
异步、全双工通信协议。
UART 通信的一些关键参数包括:
- 波特率(Baud Rate):数据传输的速率,通常以每秒位数(bps)来表示。常见的波特率有 9600、19200、38400、57600、115200 等。
- 数据位(Data Bits):每个字符包含的数据位数,通常为 7 位或 8 位。
- 停止位(Stop Bits):用于标记数据字符传输结束的位数,通常为 1 位或 2 位。
- 奇偶校验(Parity):一种用于检测数据传输错误的机制。它可以设置为无校验(None)、奇校验(Odd)、偶校验(Even)或标记校验(Mark)等。
什么是同步、异步
同步:就是双方使用同一个时钟
同步通信要求通信双方共用同一时钟信号,在总线上保持统一的时序和周期完成信息传输。
优点:可以实现高速率、大容量的数据传输,以及点对多点传输。
缺点:要求发送时钟和接收时钟保持严格同步,收发双方时钟允许的误差较小,同时硬件复杂。
而异步通信不需要时钟信号,而是在数据信号中加入开始位和停止位等一些同步信号,以便使接收端能够正确地将每一个字符接收下来,某些通信中还需要双方约定传输速率。
优点:没有时钟信号硬件简单,双方时钟可允许一定误差。
缺点:通信速率较低,只适用点对点传输。
数据的传输方向
根据数据传输方向,通信又可分为全双工、半双工和单工通信。全双工、半双工和单工通信的比较如下图所示
单工是指数据传输仅能沿一个方向,不能实现反方向传输,如校园广播。
半双工是指数据传输可以沿着两个方向,但是需要分时进行,如对讲机。
全双工是指数据可以同时进行双向传输,比如日常的打电话。