串口通信要点解析

发布时间:2024年01月03日

目录

简介:

UART 协议解析:

串口协议工作过程:


简介:

串行通信协议包括:

UART通用异步收发传输器 (Universal Asynchronous ReceiverTransmitter) 是一种串行异步收发协议 (异步是指通信双方使用各自的时钟控制数据的发送和接收过程),目前在各种通信领域广泛应用。

UART通讯协议中指明在数据通信过程中,将数据一位一位(0'或1’) 进行传输,状态位高电平代表1低电平代表0。

当两个设备使用UART通讯时,双方要事先约定好波特率、数据位、奇偶校验位以及停止位后才能进行数据交互。


UART 协议解析:

奇偶校验位是一种用于串口通信中的错误检测机制。它通过在每个数据字节的最高位(奇校验)或最低位(偶校验)上添加一个校验位来检测数据传输过程中的错误。

在奇校验中,校验位被设置为使得数据字节中1的个数为奇数。例如,如果数据字节中有偶数个1,则校验位被设置为1,以使得总的1的个数为奇数。相反,在偶校验中,校验位被设置为使得数据字节中1的个数为偶数。

在发送端,发送方计算数据字节中1的个数,并根据奇偶校验位的设置将校验位添加到数据字节中。在接收端,接收方计算接收到的数据字节中1的个数,并与接收到的奇偶校验位进行比较。如果两者不匹配,表示数据传输过程中发生了错误。

奇偶校验位可以帮助检测一些单比特错误,例如位翻转或传输噪声引起的错误。然而,它并不能检测到所有类型的错误,因此在实际应用中,通常会结合其他错误检测和纠正机制来提高通信的可靠性。


串口协议工作过程:

首先两设备的硬件连接如下:

其次设置好所需要的波特率:

波特率: 表示数据每秒传输的位数,单位bps (bits per second) ,若串口波特率设置为4800bps,那么传输一个比特需要的时间是1/4800≥208.3us,在单片机程序设计中一般用定时器作为波特率发生器。

首先,如果没有数据发送,会一直保持高电平

如果有数据输入,则会在第一位收到一位低电平作为起始位

收到起始位后的第二位,会延后52us接收数据,确保数据的稳定可靠

起始位后的八位数据是所传输的一个二进制字符

最后一位是停止位置高电平

文章来源:https://blog.csdn.net/weixin_50932441/article/details/135364054
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。