UART串口通信协议详解

简介: UART串口通信协议详解

UART:通信异步收发器,串行、异步通信总线,两条数据线(收发),全双工(可以同时接收和发送)。


一、UART帧格式(UART协议)

单片机和PC之间的通信,为保证数据可靠性,双方必须遵守UART协议


空闲位:空闲状态时为高电平(1),代表无数据传输

起始位:低电平,通信开始(从空闲位(1)–>起始位(0)的变化代表通信开始)。

数据位:5-8位数据(先发低位,后发高位)。例如:发送数据为0x55(01010101),则发送的数据为(10101010)

校验位:校验数据的正确性(奇偶校验),数据位计算1的个数若为奇数为奇校验,若为偶数为偶校验。(可有可无)

停止位:1/1.5/2位(高电平),数据结束的标志。

空闲位: 高电平,代表无数据传输


注:串行通信不允许连续发送,每次只能发送一个字节数据(8位),为了防止累积误差的出现。UART是异步通信,收发双方时钟不同步,而其他通信协议如SPI、I2C等是同步通信。


二、UART存在的问题

1、电气接口不统一,UART只是对信号的时序进行了定义,但是没有定义接口的电气特性,没有规定不同器件连接时连接器的标准。不同处理器所使用的电平不一样,所以不同处理器使用UART通信时不能直接连接。

2、抗干扰能力差

因为串口使用的是TTL电平(高低电平用0和1表示)

3、通信距离极短

由于抗干扰能力差所以通信距离短。

相关文章
|
芯片
STM32使用HAL库实现RS485通讯(全双工串口)
STM32使用HAL库实现RS485通讯(全双工串口)
1148 0
|
存储 安全 定位技术
串口,IIC,SPI,USB等总线叙述
串口,IIC,SPI,USB等总线叙述
211 0
STM32使用HAL库实现modbus的简单通讯
STM32使用HAL库实现modbus的简单通讯
335 0
|
Linux 定位技术 芯片
|
算法 网络协议 数据处理
一文搞懂UART通信协议
UART(Universal Asynchronous Receiver/Transmitter,通用异步收发器)是一种双向、串行、异步的通信总线,仅用一根数据接收线和一根数据发送线就能实现全双工通信。典型的串口通信使用3根线完成,分别是:发送线(TX)、接收线(RX)和地线(GND),通信时必须将双方的TX和RX交叉连接并且GND相连才可正常通信
|
存储 芯片 异构计算
|
芯片
IIC协议解析
IIC协议解析
194 0
|
存储 移动开发
STM32学习笔记(6) 串口通信数据包解析
STM32学习笔记(6) 串口通信数据包解析
383 0