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通讯(全双工串口)
1796 0
STM32速成笔记(三)—按键检测
本文介绍了如何利用STM32进行按键检测,先介绍了原理,后面给出了配置步骤和应用例程。此外,本文还叙述了如何利用一个按键单独控制一个LED亮灭,以及如何检测按键长短按。
1946 0
STM32速成笔记(三)—按键检测
STM32CubeMX RS485接口使用
STM32CubeMX RS485接口使用
1378 8
|
编译器 调度
FreeRTOS任务的创建(动态方法和静态方法)
FreeRTOS任务的创建(动态方法和静态方法)
2130 0
关于流控RTS/CTS ,DTR/DSR的说明
关于流控RTS/CTS ,DTR/DSR的说明
2518 0
|
消息中间件 算法 调度
轻松掌握“裸机”任务调度——使用环形缓冲区、状态机和定时器打造完美方案!
轻松掌握“裸机”任务调度——使用环形缓冲区、状态机和定时器打造完美方案!
|
关系型数据库 MySQL 数据库连接
UiPath 连接 Mysql 报错: 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配
UiPath 连接 Mysql 报错: 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配
553 0
|
存储 缓存 芯片
STM32标准库SPI通信协议与W25Q64-2
STM32标准库SPI通信协议与W25Q64
透彻理解 UART 通信的基本方法
透彻理解 UART 通信的基本方法
341 0
|
芯片 异构计算
一文看懂串口协议
一文看懂串口协议
1156 0
一文看懂串口协议