UART串口通信

本文涉及的产品
数据传输服务 DTS,数据同步 small 3个月
推荐场景:
数据库上云
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
数据传输服务 DTS,数据同步 1个月
简介: UART串口通信

简介

无论是单片机还是嵌入式 Linux 开发,串口设备都是最常用到的外设。可以通过串口将开发板与电脑相连,然后在电脑上通过串口调试助手来调试程序。还有很多的模块,比如蓝牙、GPS、 GPRS 等都是使用的串口来与主控进行通信的。

串口全称叫做串行接口,通常也叫做 COM 接口,串行接口指的是数据一个一个地顺序传输,通信线路简单。与之对应的叫做并行接口,由于种种原因,现在并不常用(比方说需要更多的传输线,增加了成本)。

除了有 UART 外,还有一种成为 USART 的通信协议。 也就是同步/异步串行收发器,顾名思义,既可以进行同步通信,也可以进行异步通信。 所以相比 UART 多了一个同步的功能,在硬件上体现出来的就是多了一条时钟线。 一般 USART 是可以作为UART使用的,也就是不使用其同步的功能。现在的USART并不是很常用,所以仅介绍UART。

1.物理连接

在物理层,只需要三根线即可完成通信。分别是TXDRXDGND。两个设备之间的连接也十分简单,即:A设备的TXD连接B设备的RXD,A设备的RXD连接B设备的TXD,然后A设备和B设备共地即可。如下图所示:

2.通信过程

串口通信的首发线是分离的,所以对于通信线来说,只需要发送或者接收。通信格式如下图所示。发送端按照下图的时序发送数据,即可在接收端接收,然后做相应处理。

  • 空闲位:数据线在空闲状态的时候为逻辑“1”状态,也就是高电平,表示没有数据线空闲, 没有数据传输。
  • 起始位:当要传输数据的时候先传输一个逻辑“0”,也就是将数据线拉低,表示开始数据传输。
  • 数据位:数据位就是实际要传输的数据,数据位数可选择 5~8 位,我们一般都是按照字节 传输数据的,一个字节 8 位,因此数据位通常是 8位的。低位在前,先传输,高位最后传输。
  • 奇偶校验位: 这是对数据中“1”的位数进行奇偶校验用的,可以不使用奇偶校验功能。通常使用的是奇校验或者偶校验这样做可以提高数据传输的准确性。
  • 停止位:数据传输完成标志位,停止位的位数可以选择 1 位、 1.5 位或 2 位高电平,一般都 选择 1 位停止位。

一般最常见的参数配置是:8位数据位,1位停止位,其他位都没有,然后就是波特率设置

波特率是个很重要的参数,波特率就是UART数据传输的速率,也就是每秒传输的数据位数,一般选择 9600、115200 等。

3.电平标准

一般UART的电平标准有TTLRS232,TTL和RS232的具体电平标准如下图所示:

这种通信标准一般是通过硬件来实现的。

4.总结

串口通信是嵌入式开发中非常常用的一种通信方式,从最简单的51单片机到STM32,再到更高端的嵌入式主控芯片,都大量配备了这种通信方式,一般如果通信出现问题,记得检查波特率的配置是否准确。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
相关文章
|
C语言 C++
STM32F103C8 串口的使用
STM32F103C8 串口的使用
286 0
|
7月前
|
存储 传感器
【STM32基础 CubeMX】uart串口通信
【STM32基础 CubeMX】uart串口通信
417 0
|
7月前
|
存储 芯片
STM32 cubemx配置USART DMA传输
STM32 cubemx配置USART DMA传输
176 0
|
缓存 数据格式
STM32串口通信配置(USART1+USART2+USART3+UART4)
STM32串口通信配置(USART1+USART2+USART3+UART4)
309 0
|
移动开发
STM32F1案例 串口USART使用
STM32F1案例 串口USART使用
204 0
|
内存技术
STM32F0 DMA串口接收数据
STM32F0 DMA串口接收数据
283 1
STM32F0 DMA串口接收数据
|
存储 芯片 异构计算
|
数据格式
【STM32】串口通讯USART串口中断配置
【STM32】串口通讯USART串口中断配置
625 0