0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

通俗易懂的UART帧格式,单片机玩家都知道的

电子设计 来源:电子设计 作者:电子设计 2020-10-30 10:24 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

今天的主角是 UART,我们通常说的串口,UART 包含 TTL 电平和 RS-232 电平两种,嵌入式系统里面,单片机的串口一般都是 TTL 电平。

今天的内容关于 UART 的帧格式,比较简单,玩过单片机的小伙伴应该都知道。

UART 的英文全称是:Universal Asynchronous Receiver/Transmitter,意为通用异步收发传输器。

UART 因为有两根线数据线 TX 和 RX,可以以全双工的形式进行发送和接收数据,同一时刻,两条链路的发送器和接收器可以同时传输数据。

区别于全双工的,还有另一种,是半双工,因为只有一根数据线,所以数据传输是这样。

或者是下面这样,同一时刻,只有一条链路在传输数据。

除了双工形式,还有一种是半工,只有发送器到接收器这一个链路。

说完了 UART 的工作模式,下面进入主题——UART 帧格式,也可以称之为 UART 协议,单片机与 PC 之间的通信,为了保证数据通信的可靠性,双方都必须遵从 UART 协议。

UART 数据帧格式

其中各位的含义如下:

起始位:发送 1 位逻辑 0(低电平),开始传输数据。

数据位:可以是 5~8 位的数据,先发低位,再发高位,一般常见的就是 8 位(1 个字节),其他的如 7 位的 ASCII 码。

校验位:奇偶校验,将数据位加上校验位,1 的位数为偶数(偶校验),1 的位数 4 为奇数(奇校验)。

停止位:停止位是数据传输结束的标志,可以是 1/1.5/2 位的逻辑 1(高电平)。

空闲位:空闲时数据线为高电平状态,代表无数据传输。

如果我们传输数据 0X33(00110011),那么对应的波形就是如下这样,因为是 LSB 在前,所以 8 位数据依次是 11001100

发送 0X33 数据帧格式

如果再发其他数据,再依次循环这个过程即可。

UART 是异步传输,以 1 个字符为传输单位,传输 2 个字符之间的时间间隔,比如传输 0X33 后再传输 0X35,这两者时间间隔是未知的。

但是同一字符内相邻位间的时间间隔是确定的,比如 0X33 低两位的 1 和 1 之间的时间间隔是确定的,这涉及到 UART 传输速率的概念——波特率。

波特率的单位是 bps,全称是 bit per second,意为每秒钟传输的 bit 数量。

波特率 9600bps,代表每秒钟传输 bit 的数量为 9600,那么传输 1bit 数据的时间就是 1/9600=104us,波特率 115200bps,代表传输 1bit 数据的时间是 8us。

两个串口之间是如何发送和接受数据呢?

首先,UART1 以 9600 波特率发送 0X33,先在数据线上放 1 个 104us 脉宽的低电平(起始位),然后是连续 2 个 104us 脉宽的高电平(2bit 逻辑 1),依次类推。

其次,UART2 以 9600 波特率接收 0X33,通过数这些数据的脉宽,来确认数据。

为了确保数据传输的正确性,减少误差,一般 UART1 和 UART2 之间的波特率差别小于 10%,一次最多只能传输 1 个字节(8bit),也有效减小了累计误差。

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • uart
    +关注

    关注

    22

    文章

    1304

    浏览量

    106118
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    怎么学好单片机

    程之后,怎么嵌入单片机? 初学者学了编程语言的之后,又或者搞纯软件想转单片机的人,都会有个共同的特点就是,下一步不知道如何入手? 那么我就会问,你懂硬件吗?要求不高,略懂就好,不求很精,因为硬件这
    发表于 12-04 07:16

    单片机的误区

    1.去背寄存器 寄存器不用死记硬背,,当我们去使用单片机外设的时候就要去配置,千万别去记寄存器,华维单片机编程的导师做开发这么多年了,一个寄存器记不住。 何况,单片机的寄存器非常多,
    发表于 11-14 07:46

    通俗易懂的晶振专业术语

    想要了解一个行业,就要对其产品的术语要有所了解,各行各业都要自己专业术语,石英晶振也不例外;了解晶振术语对晶振采购和选型有很大帮助;下面小扬给大家简单的解释晶振术语代表什么意思:
    的头像 发表于 09-18 11:31 1782次阅读
    <b class='flag-5'>通俗易懂</b>的晶振专业术语

    怎么测单片机系统频率

    单片机系统频率是指单片机工作时的时钟频率,它直接影响单片机的运行速度和处理能力,准确测量系统频率对单片机应用开发、程序调试和性能优化具有重要意义。测量
    的头像 发表于 07-25 11:39 477次阅读

    单片机怎么驱动电机?

    在各类自动化设备和智能装置中,电机是重要的执行部件,而单片机作为控制核心,需要通过特定的方式驱动电机运转。单片机驱动电机并非直接连接即可,而是要根据电机类型和功率,搭配合适的驱动电路,才能实现稳定
    的头像 发表于 07-25 09:31 439次阅读

    单片机怎么烧程序

    单片机烧程序是将编写好的程序代码写入单片机内部存储单元,让单片机按照预设逻辑工作的过程,是单片机应用开发中不可或缺的环节。无论是简单的灯光控制程序,还是复杂的工业控制算法,
    的头像 发表于 07-23 11:47 654次阅读

    图解单片机功能与应用(完整版)

    过程通道图解、单片机显示电路图解、51单片机按键识别电路图解、51单片机常用算法图解、单片机常用电路图解、51单片机抗扰技术图解、51
    发表于 06-16 16:52

    单片机C语言入门指导(非常通俗易懂!)

    这一切都没什么关系,因为我(当然也包括任何人)都是从不知道转变成知道的,再转变成精通的。 现在我只想把我学习单片机的经历,详细地讲叙给大 家听听,可能有些大虾会笑话我,想:那么简单的东西还在
    发表于 06-16 16:32

    英锐恩精选笔记UART串口通信#单片机开发#单片机芯片#UART串口通信#单片机

    单片机
    英锐恩科技
    发布于 :2025年05月15日 16:09:05

    电源模块PCB设计注意事项

    PCB设计的基础入门教材,图文并茂,通俗易懂 纯分享贴,有需要可以直接下载附件获取完整资料! (如果内容有帮助可以关注、点赞、评论支持一下哦~)
    发表于 05-06 15:43

    秒懂CCC与CQC,别傻傻分不清啦

    通俗易懂说CCC与CQC
    的头像 发表于 05-06 10:23 7115次阅读
    秒懂CCC与CQC,别傻傻分不清啦

    51单片机经典入门教程(非常棒的教程)

    【前言】 适合初学者,入门级教程。 本文作者提示:本教程乃最通俗易懂单片机教材,如果您还是看不懂,请千万不要涉足此行,以免误入歧途,耽误您的前程。 纯分享贴,有需要可以直接下载附件获取完整资料! (如果内容有帮助可以关注、点赞、评论支持一下哦~)
    发表于 03-28 15:05

    基于51单片机PWM直流电机调速程序 0到20级的调速

    基于51单片机PWM直流电机调速程序 0到20级的调速,代码有中文详细注解,通俗易懂,不愧是初学者福利。可以看得出作者真的很用心.这也让我们学习单片机基础更加的容易理解。 纯分享贴,有需要可以直接下载附件获取资料! (如果内容
    发表于 03-20 13:44

    工业与IT网络中的以太网数据格式与用途全解析

    以太网数据是计算机网络通信的基本单位,在不同的应用场景中,它的格式有所不同。从互联网和工业自动化常见的以太网 II ,到 VLAN 组网中广泛使用的 IEEE 802.1Q ,再
    的头像 发表于 03-14 17:35 1276次阅读
    工业与IT网络中的以太网数据<b class='flag-5'>帧</b>:<b class='flag-5'>格式</b>与用途全解析

    DRAM基本单元最为通俗易懂的图文解说

    的话题,稍微复杂一点的系统需要用到DRAM,并且DRAM是除CPU之外,最为复杂也最贵的核心部件了,其设计,仿真,调试,焊接,等等非常复杂,且重要。对DRAM使用的熟练情况,直接关系到系统设计的优劣。本文试着用比较通俗系统的
    的头像 发表于 03-04 14:45 1891次阅读
    DRAM基本单元最为<b class='flag-5'>通俗易懂</b>的图文解说