UART串口通信

本文涉及的产品
数据传输服务DTS,同步至DuckDB 3个月
简介: 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,再到更高端的嵌入式主控芯片,都大量配备了这种通信方式,一般如果通信出现问题,记得检查波特率的配置是否准确。

相关实践学习
自建数据库迁移到云数据库
本场景将引导您将网站的自建数据库平滑迁移至云数据库RDS。通过使用RDS,您可以获得稳定、可靠和安全的企业级数据库服务,可以更加专注于发展核心业务,无需过多担心数据库的管理和维护。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
相关文章
|
2月前
|
人工智能 架构师 搜索推荐
智能体来了:IP操盘手如何用AI智能体实现企业赋能
AI时代,IP操盘手正升级为“AI赋能架构师”。本文以阿里云百炼平台为例,解析如何将IP专业力与AI智能体结合,打造服务企业的“知识库+工具”闭环,实现从内容IP到商业引擎的跃迁。
|
6月前
|
API 开发工具 开发者
HarmonyOS NEXT实战:拨打电话
本课程介绍如何在HarmonyOS SDK中使用Telephony Kit实现拨打电话功能。通过CallPhoneDemoPage示例,讲解如何输入电话号码并调用makeCall接口拨号,涉及call模块的使用及设备通话能力检测。
7913 0
|
存储 SQL 数据库
SQL Server存储过程的优缺点
【10月更文挑战第18天】SQL Server 存储过程具有提高性能、增强安全性、代码复用和易于维护等优点。它可以减少编译时间和网络传输开销,通过权限控制和参数验证提升安全性,支持代码共享和复用,并且便于维护和版本管理。然而,存储过程也存在可移植性差、开发和调试复杂、版本管理问题、性能调优困难和依赖数据库服务器等缺点。使用时需根据具体需求权衡利弊。
307 1
|
9月前
|
人工智能 数据挖掘 API
3个实操案例,带你体验真正流畅可用的企业级通用智能体
本文探讨了企业级通用智能体的现状与应用,重点介绍了实在Agent。文章指出,当前通用AI Agent分为两类:一类是类似Manus的产品,采用大模型+API模式;另一类是在RPA基础上融合AI Agent架构的产品。实在Agent属于后者,具备低门槛、简单直白的操作方式和随心掌控的执行过程。文中通过豆瓣电影数据获取、多平台舆情分析及剪映图文成片自动化三个案例,展示了实在Agent的实际应用能力。此外,文章还强调了企业级智能体需具备可控、稳定和高效的特性,并总结了实在Agent满足商业化落地的核心能力,包括企业知识库、业务系统操作指南、模型接入支持及私有化部署等。
1249 8
|
9月前
|
存储 SQL 缓存
StarRocks 存算分离在京东物流的落地实践
本文分享了京东物流在StarRocks存算分离架构上的实践与成果。通过将UData平台从存算一体升级为存算分离,显著提升了查询性能和资源利用率,同时大幅降低了存储成本(90%)和计算资源成本(30%)。文章详细介绍了存算分离的背景、部署方案、性能表现及优化措施,包括联邦查询、实时写入、Compaction调优等关键技术点。未来,京东物流将持续推动存算分离的应用拓展,并探索更多降本增效策略,如Stream Load任务合并与主动缓存管理。
|
运维 监控 Cloud Native
运维之道:从基础到进阶的实战指南
【10月更文挑战第20天】 在数字化时代,运维作为保障系统稳定运行的重要环节,其重要性不言而喻。本文将带你深入探索运维的核心领域,从基础概念解析到进阶技能提升,通过一系列实用的技巧和策略,帮助你构建高效、可靠的运维体系,确保业务连续性和数据安全。
804 6
|
人工智能 Java 测试技术
开源上新|FunASR英文离线文件转写软件包发布
开源上新|FunASR英文离线文件转写软件包发布
|
机器学习/深度学习 人工智能 自然语言处理
揭开AI的神秘面纱:人工智能简介
这是一篇人工智能简介,从人工智能的定义,起源,分类,相关技术,应用前景与存在的挑战几个方面介绍人工智能