文章目录
- 引言
- 并行和串行
- 波特率
- UART帧格式
引言
UART(Universal Asynchronous Receiver/Transmitter,通用异步收发器)是一种用于串行通信的硬件设备。它允许两个设备之间进行异步数据传输。是一种通用的串行、异步通信总线。该总线有两条数据线,可以实现全双工的发送和接收,在嵌入式系统中常用于主机和辅助设备之间的通信。
并行和串行
什么是并行传输?
并行传输指的是数据以成组的方式,在多条并行信道上同时进行传输。每条信道传输一部分数据,这样可以在同一时间内传输更多的数据位,因此传输速度较快,但成本较高。
什么是串行传输?
串行传输使用一条数据线,将数据一位一位地依次传输。虽然每次只传输一个数据位,但由于其简单的线路设计和较低的成本,串行传输在许多应用中非常普遍。
注意:有关更多通信方式,可查看此博客:计算机网络讲解 的第二章传输方式章节。
波特率
波特率用于描述UART通信时的通信速度,用于衡量数据传输的速率。其单位为bps
(bit per second)即每秒钟传送的bit的数量。波特率直接决定了数据传输的速度。较高的波特率意味着更快的数据传输,但也可能增加误码率。通信双方必须使用相同的波特率才能正确解码和传输数据。如果波特率不匹配,接收端将无法正确解码数据。
UART帧格式
在串口通信过程中,首先发送一个起始位,标志着一次通信的开始。紧接着是数据位,表示通过串口传输的数据,通常为5到8位,数据传输时先发送低位,再发送高位。随后发送一个校验位,用于校验数据传输的正确性,确保数据的完整性和可靠性。最后发送一个停止位,标志着此次通信的结束。
如果要发送多个字节多个数据,重复上述过程即可
- 起始位:帧的开始由一个起始位标识,通常为逻辑低电平(0)。
- 数据位:紧随起始位之后的是数据位,通常为5到9位,最常见的是8位。
- 奇偶校验位(可选):用于错误检测,可以是奇校验或偶校验。
- 停止位:标识帧的结束,通常为1或2位逻辑高电平(1)。
这种通信方式通过起始位、数据位、校验位和停止位的组合,实现了可靠的数据传输,广泛应用于各种电子设备和嵌入式系统中。
注意:当不发送数据时,根据串口协议规定,串口线在空闲的时候,必须为高电平