Uart接口的详细解释

MCU集成-常用接口uart uart 阅读详情

我面试的时候一般喜欢问应聘者一个问题:UART与RS232/RS485的区别与联系?很多人对于这个问题答得都不是很好。还有些人压根就没有想过这个问题,一直认为他们是同一个东西,就是咱们俗称的串口。

 

我刚入嵌入式的大门时,对这个问题也困惑过很久,后来终于弄明白了。跟大家一起分享一下吧。

 

简单来说,区别在于UART是一种接口,而RS232/RS485是一种总线。UART这个接口,后面可以接TTL电平,这就是我们俗称的普通的串口。而UART如果接了RS232/RS485的转换芯片,那么后面的总线上就是按照RS232/RS485规则来传输数据。RS232/RS485总线的具体规则我们后续再讨论,本篇主要详解TTL下的情况。UART接TTL电平时,+5V等价于逻辑“1”,0V等价于逻辑“0”。

如下例子主要说明一下UART接TTL电平这种方式是怎么传输二进制数据的。这是我在项目中的一个例子,用STM32F429的Uart4口采集TOF模块测量得到的距离信息。

UART的Rx连接测距模块TOF的Tx。TOF向UART发送了0x32 0x33 0x6d 0x6d 0x0a 五个字节,对应的ASCII码是23mm,表示测到的距离。

 

0x32 0x33 0x6d 0x6d 0x0a 对应的示波器上测到波形如下所示,我们来一起分析一下。

 

 

 

 

首先,UART的波特率,配置的是9600。对于串口来说,波特率=比特率,所以串口现在比特率为9600,所以每一个bit需要的时间为100us。所以示波器抓的波形对应的比特流是:

00100110010110011001010110110101011011010010100001

 

对于Uart,我配置的代码如下:

 

USART_InitStructure.USART_BaudRate = UART4_BAUD; //9600

USART_InitStructure.USART_WordLength = USART_WordLength_8b;

USART_InitStructure.USART_StopBits = USART_StopBits_1;

USART_InitStructure.USART_Parity = USART_Parity_No ;

USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;

USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;

USART_Init(UART4, &USART_InitStructure);

 

所以Uart的数据位宽为8bit,再加上起始位0,结束为1.所以比特流分割为如下:

0  0100 1100  1

0  1100 1100  1

0  1011 0110  1

0  1011 0110  1

0  0101 0000  1

考虑硬件总线上的数据时序,CPU接收到后的比特序列颠倒:  

0100 1100 颠倒为  0011 0010  即为0x32

1100 1100 颠倒为  0011 0011  即为0x33

1011 0110 颠倒为  0110 1101  即为0x6d

1011 0110 颠倒为  0110 1101  即为0x6d

0101 0000 颠倒为  0000 1010  即为0x0a

 

完美! 发送的0x32 0x33 0x6d 0x6d 0x0a 字节与示波器上测量到的高低电平信号完美相符。

作为嵌入式软件工程师,对软硬件的接口分析到这种程度,一般情况下,就够用了。

-----------------------------上善若水,大智若愚-----------------------------------

【硬件接口】UART接口 本文章是笔者整理的备忘笔记。希望在帮助自己温习避免遗忘的同时,也能帮助其他需要参考的朋友。如有谬误,欢迎大家进行指正。 阅读详情

相关推荐

浅谈UART,TTL,RS-232,RS-485的区别

以前常常听到串口,UART,RS232,RS485,TTL这几个名词,始终没去分清楚他们之间的区别。

主要分享学习中的知识和遇到的问题 4836

2.常用通信接口——UART

本文主要讲述通用异步收发器和TTL、RS232、RS485的通信原理,以及差异

qq_43751673的博客 6053

UART介绍版(勿看简单介绍)

定义 UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART用于主机与辅助设备通信,如汽车音响与外接AP之间的通信,与PC机通信包括与监控调试器和其它器件,如EEPROM通信。 [1]  功能 计算机内部采用并行数据,不能直接把数据发到Modem,必须经过UART整理才能进行异步传输,其过程为:CPU先把准备写入串行设备的数据放到...

ALIX的博客 3541

UART/I2C/SPI/1-wire四大通信接口的神解释

1、 裘千丈水上漂之UART 射雕英雄传中的裘千丈说,UART就是我的轻功水上漂过河。要想从河上过(通信),使用最少的暗桩(使用最少的总线接口),且步伐按桩距固定(波特率固定后传输速率固定),步幅太大或太小都会落水。为了不被二弟裘千仞识破,可以安排侍卫在对岸监视通知,没风险才开始表演(流控)。 UART 通用异步接收发送器,主机和从机至少要接三根线,RX,TX和GND,TX用于发送数据,RX用于接受数据,收发线独立,支持全双工方式。 因为没有时钟控制,什么时机开始发数据,且保证对方正确开始接收?y 如

嵌入式系统 2192

如何通俗地讲清 I²C、SPI、USB、UART、RS232 到底是什么东西?

他们通过两根线来交流,一根线传数据,一根线控制节奏,能让很多小设备(比如传感器、存储器)和大设备(比如电脑的主板)方便地说话。SPI 呢,就像是一个小团队,有一个带头的(主设备)和几个跟着的(从设备)。他们交流靠好几根线,一根专门发命令,一根专门收回答,还有专门用来控制什么时候说话的线,这样说话速度快,但线用得多。百度上的术语一大堆,到头来把我绕的糊里糊涂,我知道您什么都懂,能解释的让外行人也理解吗。RS232 也是两个人交流,不过它要求比较严格,比如说话声音大小(电压)得固定,而且说话的速度不能太快。

169

UART 接口

UART 接口介绍

ToFPGA的博客 3144

硬件接口:串口,并口,CVBS,LVDS,AHD,UART,VGA,HDMI,HSD分类及解释

作者:Sunnyxue链接:https://www.zhihu.com/question/265922106/answer/2400616041来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。并行端口,称为。并行端口使用25针D型连接头。所谓“并行”是指通过并行线路同时传输8位数据,从而大大提高了数据传输速度,但是并行传输线路的长度受到限制,因为长度增加,干扰会增加,并且数据容易出错。目前,并行接口主要用作打印机端口等。

GJZGRB的博客 1万+

iOS反编译-hook微信之艾特所有人

all。

2501_90243249的博客 759

串口、COM口、UART口, TTL、RS-232、RS-485区别详解&Uart接口的详细解释【转】

1、串口、COM口是指的物理接口形式(硬件)。而TTL、RS-232、RS-485是指的电平标准(电信号)。 2、接设备的时候,一般只接GND RX TX。不会接Vcc或者+3.3v的电源线,避免与目标设备上的供电冲突。 3、PL2303、CP2102芯片是USB 转 TTL串口 的芯片,用USB来扩展串口(TTL电平)。 4、MAX232芯片是TTL电平与RS232电平的专用双向转换芯片,...

weixin_30707875的博客 2713

超声波探伤技术在风电叶片检测中的实战应用(含设备选型指南)

本文深入探讨了超声波探伤技术在风电叶片高空检测中的实战应用,重点分析了相控阵超声、激光超声等技术的选择与挑战。文章提供了详细的设备选型指南,对比了奥林巴斯、GE及国产品牌的优劣,并解读了典型缺陷的超声图谱特征,旨在帮助风电运维工程师安全、高效地完成叶片内部损伤的无损检测与预防性维护。

desk3的博客 885

对LSTM中每个batch都初始化隐含层的理解

不知道有没有人和我有一样疑惑 在LSTM相关的代码中,为什么每个batch都会将隐藏层重新初始化, 这样不会把以前训练出来的参数丢掉吗?? 比如 代码来自GitHub 看了一些解释是h与c是状态,不是参数,每个batch中都需要初始化为0,LSTM 中的参数是W,b。 网络中训练的是参数,不是状态。 说真的。。。当时我没怎么看懂。。。 咨询了实验室的师兄后,我有了自己的理解 产生误解的主要原因是我对RNN和LSTM的结构理解不深入,我们通常看到RNN结构图基本都是这样的 ...

Chauncey_Wang的博客 5910

通信协议与接口全解析,包含C语言代码详细解释,UART,I2C,CAN,SPI,RS422,RS232,RS485

本文系统介绍了常见通信协议与接口的基础知识、技术特性和STM32实现代码。主要内容包括: 基础概念:涵盖串行/并行通信、单工/双工模式、同步/异步传输等核心原理,以及比特率、波特率等关键参数。 协议详解:深入解析UART、I2C、SPI、RS232/422/485、CAN、USB等12种通信协议,包括: 工作特性(全/半双工、主从架构) 电气标准(电平规范、传输距离) 时序图解析(起始/停止信号、数据帧结构) 硬件接口:详细说明HDMI、VGA、JTAG等9种物理接口的引脚定义和电路设计要点。 实践代码:提

C++,Java,Python,C#编程选手,偶尔刷刷leetcode 1802

别再手动调参了!用MATLAB+改进PSO算法,5步搞定机械臂轨迹优化(附完整代码)

本文介绍如何利用MATLAB和改进PSO算法快速优化机械臂轨迹规划,仅需5步即可完成传统耗时的手动调参过程。通过混沌初始化、自适应权重等创新方法,改进PSO算法显著提升优化效率,实现全局最优解搜索,适用于工业自动化中的机械臂控制。文章包含完整MATLAB代码实现,帮助工程师轻松应用于实际生产场景。

weixin_29232121的博客 353

本文提供有关 Linux® TTY框架的信息。 它解释了如何激活UART接口,以及如何从用户和内核空间访问它。

为了执行其任务,TTY子系统由模块(也称为学科)组成。模块是一组处理规则,它们控制计算机与异步设备之间的通信接口。可以为每个TTY动态添加和删除模块。STMicroelectronics提供的USART低级驱动程序(“drivers/tty/serial/stm32 USART.c”)支持。控制终端管理一组进程的输入和输出操作。TTY特殊文件(ttyX文件系统条目)支持控制终端接口。子系统控制UART设备与使用这些设备的程序之间的通信。协议应用程序为例)。

forest_xi的专栏 577

把数字化转型真正落到组织里:读懂 SAP 的 OCM 六维框架

摘要: SAP的变革管理框架(OCM)强调数字化转型不仅是技术任务,更需关注组织与人的适应性。OCM包含六大维度:变革战略(明确方向与风险)、变革领导力(统一关键管理者行动)、变革沟通(分层传递信息)、变革实现(细化岗位级影响)、变革赋能(按角色设计培训)和变革有效性(持续评估)。该框架贯穿项目全周期,尤其在云项目中,需从早期规划变革策略,避免后期高代价调整。OCM的核心是将系统设计转化为组织语言,确保业务真正采纳新方式运作。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1431

H3LIS200DL三轴加速度传感器原理图设计,已量产(加速度传感器)

在最近的工业振动监测项目里,我们选了 ST 的 H3LIS200DL 做核心传感器 —— 这颗料的特点太契合场景了:±100g/200g 的大量程刚好覆盖设备冲击与振动的测量需求,10μA 的超低功耗能适配电池供电的边缘节点,0.5Hz 到 1kHz 的输出速率也足够抓准动态信号。下面结合实际画的原理图,拆解下这个硬件电路的设计思路。

不脱发的程序猿 336

开发板适配之UART

开发板适配之UART

2301_76587520的博客 1584

【OpenClaw企业级智能体实战】第10篇:医疗行业OpenClaw实战:病历自动书写、医保智能审核与患者随访管理(附HIPAA合规配置+完整代码)

医疗行业正面临“效率提升需求”与“合规监管红线”的双重矛盾:病历书写占据医生30%-50%工作时间,医保审核效率低下,患者随访工作量巨大,但医疗数据“不出域”“责任不转移”的要求又限制了AI落地。本文基于华为云、腾讯云安全规范及中关村科金、复旦大学附属中山医院等真实实践,拆解OpenClaw在医疗场景的五大核心应用(病历自动书写、医保智能审核、患者随访管理、科研文献综述、医学影像预处理),提供私有化部署架构、HIPAA合规配置模板、完整实操流程及可直接运行的代码。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 438

UART接口介绍

通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART,是一种异步收发传输器,是电脑硬件的一部分。它将要传输的资料在串行通信与并行通信之间加以转换。作为把并行输入信号转成串行输出信号的芯片,UART通常被集成于其他通讯接口的连结上。 UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART用于主机与辅助设备通信,如汽车音响与外接AP之间的通信,与PC机通信包括与监控调试器和其它器件

m0_37822019的博客 1761

GEE 案例分析:利用Landsat数据进行FAI、NDVI及CHLA分析并统计平均值(巢湖为例)

浮游藻类指数(FAI)、归一化植被指数(NDVI)及叶绿素a(CHLA)是水体环境监测的重要指标。本文利用Google Earth Engine(GEE)平台,基于Landsat 5和Landsat 8数据,进行水体藻类及植被监测。

此星光明博客 1336

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Nanopi Neo3 UART接口使用

Nanopi Neo3是一块只有50*50左右的小板子,搭载RK3288,4*1.5G arm A55 CPU,2G内存,性能优于一众与近似尺寸的开发板。在刷入基于Ubuntu的friendlycore系统而非FriendlyWrt系统的情况下,如需使用UART接口,可将TX、RX线连接至开发板GPIO口的RX1、TX1接口上。此时,该UART接口在操作系统中的映射为/dev/ttyS1,使用Python的serial库或其他方式打开即可使用。)中没有提及其接口使用的有关内容。

Mr_KKing的博客 1689

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

rs232接口_串口、COM口、UART口,TTL、RS-232、RS-485这么多接口,怎么区分

调试时总是会遇到各种各样的接口,各种各样的转换板,似懂非懂的感觉很不爽!首先,串口、UART口、COM口、USB口是指的物理接口形式(硬件)。而TTL、RS-232、RS-485是指的电平标准(电信号)。串口:串口是一个泛称,UART,TTL,RS232,RS485都遵循类似的通信时序协议,因此都被通称为串口。UART接口:通用异步收发器(Universal Asynchronous Receiv...

weixin_39842475的博客 3197

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

UART协议就应该这么理解

UART协议的概念介绍:包括串行/并行概念,单工/半双工/全双工,数据格式,数据速率,流控,最后再介绍下基于UART标准的RS232,RS485接口

朝气蓬勃 2万+

SCI、UART与RS232区别

SCI 、 UART 与 RS232 区别   通常, 大部分人把 SCI 、 UART 与 RS232 混为一谈, 其实他们有本质上的差 别:   SCI ( Serial Communication Interface) 意为 “ 串行 通信接口 ” ,是相对于并行通 信的,是串行通信技术的一种总称,最早由 Motolora 公司提出的

water1730的博客 9586

UART 串口通信实验

串口是“串行接口”的简称,即采用串行通信方式的接口。串行通信将数据字节分成一位一位的形式在一条数据线上逐个传送,其特点是通信线路简单,但传输速度较慢。因此串口广泛应用于嵌入式、工业 、控制等领域中对数据传输速度要求不高的场合。本章我们将使用 ZYNQ 开发板上的 UART 串口完成上位机与 ZYNQ PL 的通信。

weixin_52804129的博客 5677
上一篇: UBoot讲解和实践-------------讲解(二)
下一篇: git merge最简洁用法
csshuke
博客等级 码龄16年 1517粉丝 8原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值