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

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

3天内不再提示

【蓝桥杯嵌入式】第六章 串口通信理论知识

撞上电子 2023-10-10 09:26 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

通用异步收发传输器是一种串行异步收发协议,应用十分广泛。UART工作原理是将数据的二进制位一位一位的进行传输。在UART通讯协议中信号线上的状态位高电平代表’1’低电平代表’0’。当然两个设备使用UART串口通讯时,必须先约定好传输速率和一些数据位。

第一节 硬件连接

硬件连接比较简单,仅需要3条线,注意连接时两个设备UART电平,如电平范围不一致请做电平转换后再连接,如下图所示:

025dae20-670c-11ee-9788-92fbcf53809c.png

TX:发送数据端,要接对面设备的RX

RX:接收数据端,要接对面设备的TX

GND:保证两设备共地,有统一的参考平面

第二节 软件通信协议

UART作为异步串口通信协议的一种,工作原理是将数据的字节一位接一位地传输。协议如下:

026daeb0-670c-11ee-9788-92fbcf53809c.png


A.空闲位:

UART协议规定,当总线处于空闲状态时信号线的状态为‘1’即高电平。

B.起始位:

开始进行数据传输时发送方要先发出一个低电平’0’来表示传输字符的开始。因为空闲位一直是高电平所以开始第一次通讯时先发送一个明显区别于空闲状态的信号即为低电平。

C.数据位:

起始位之后就是要传输的数据,数据可以是5,6,7,8,9位,构成一个字符,一般都是8位。先发送最低位最后发送最高位。

D.奇偶校验位:

数据位传送完成后,要进行奇偶校验,校验位其实是调整个数,串口校验分几种方式:

D.1.无校验(no parity)

D.2.奇校验(odd parity):如果数据位中’1’的数目是偶数,则校验位为’1’,如果’1’的数目是奇数,校验位为’0’。

D.3.偶校验(even parity):如果数据为中’1’的数目是偶数,则校验位为’0’,如果为奇数,校验位为’1’。

D.4.mark parity:校验位始终为1。

D.5.space parity:校验位始终为0。

E.停止位:

数据结束标志,可以是1位,1.5位,2位的高电平。

F.波特率:

数据传输速率使用波特率来表示,单位bps(bits per second),常见的波特率9600bps,115200bps等等,其他标准的波特率是1200,2400,4800,19200,38400,57600。举个例子,如果串口波特率设置为9600bps,那么传输一个比特需要的时间是1/9600≈104.2us。

0271b064-670c-11ee-9788-92fbcf53809c.png

以9600 8N1(9600波特率,8个数据位,没有校验位,1位停止位)为例,这是目前最常用的串口配置,现在我们传输’O’'K’两个ASCII值,'O’的ASCII为79,对应的二进制数据为01001111 ,'K’对应的二进制数据为01001011 ,传输的格式数据如下图所示:

02908174-670c-11ee-9788-92fbcf53809c.png

串口波特率为9600,1bit传输时间大约为104us,传送一个数据实际是10个比特(开始位,8个数据位,停止位),一个bytes传输速率实际为9600*8/10=7680bps。

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

    关注

    5186

    文章

    20165

    浏览量

    329036
  • 通信
    +关注

    关注

    18

    文章

    6319

    浏览量

    139584
  • 串口
    +关注

    关注

    15

    文章

    1607

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    嵌入式应掌握的几种能力

    基本掌握嵌入式处理器的基础知识嵌入式处理器种类很多:MCU(微控制器)、MPU(微处理器)、DSP(数字信号处理器)等。MCU,也就是我们常说的单片机。 初学期,重点放在单片机的学习这一块。 理解整体
    发表于 12-08 06:05

    CW32嵌入式软件开发的必备知识

    嵌入式软件开发作为计算机科学和电子工程的交叉领域,要求开发人员具备一系列的专业知识和技能。 而基于CW32的嵌入式软件开发必备知识包括以下部分: 1 、编程语言 熟练掌握C(C++
    发表于 11-28 07:48

    【「高速数字设计(基础篇)」阅读体验】第六章 去耦电容的容量需求分析

    去耦电容容量别瞎猜!《高速数字设计》第6教你量化计算,精准选型 在高速数字电路设计中,去耦电容选多大容量是个难点。《高速数字设计》第6“去耦电容的容量需求分析:知己知彼”,把这个问题进行了量化
    发表于 11-19 20:48

    入行嵌入式应该怎么准备?

    常会遇到各种问题和错误。因此,具备良好的调试和故障排除能力是非常重要的。需要学会使用调试工具和设备,如示波器、逻辑分析仪和仿真器,以便于分析和解决问题。 、领域知识嵌入式系统应用广泛,涉及到许多
    发表于 08-06 10:34

    2025“芯原”全国嵌入式软件开发大赛圆满落幕

    此前,2025年7月20日至26日,第四届“芯原”全国嵌入式软件开发大赛决赛在海口成功举办。
    的头像 发表于 08-06 09:51 1113次阅读

    【好书推荐】RT-Thread第17本相关书籍!嵌入式系统原理与开发

    嵌入式系统学习和开发的过程中,你是否遇到过这些问题:硬件基础学得零散,缺乏系统的知识框架?程搭建复杂,环境配置困难重重?想学RTOS却苦于找不到入门清晰、例子丰富的教程?理论知识和实际项目脱节
    的头像 发表于 06-23 20:22 548次阅读
    【好书推荐】RT-Thread第17本相关书籍!<b class='flag-5'>嵌入式</b>系统原理与开发

    飞凌嵌入式ElfBoard ELF 1板卡-uboot移植之IOMUX介绍

    此文件夹,就自行创建),并解压缩,准备进行移植。本章uboot移植工作基于eMMC版进行。 经过第六章,我们完整地移植了NXP的内核,相信大家对IOMUX已经很熟悉了,我们再简单地提一下,如果您
    发表于 05-30 09:28

    第六章 外部中断

    本章介绍W55MH32的IO口作为外部中断输入的使用。先阐述了NVIC(嵌套向量中断控制器) 的结构、寄存器、优先级及相关函数,再说明EXTI(外部中断和事件控制器)的功能。框图及IO口与中断线的映射。
    的头像 发表于 05-26 16:27 1011次阅读
    <b class='flag-5'>第六章</b> 外部中断

    第六章 GPIO输入——按键检测

    本篇文章讲述了如何在W55MH32上实现按键输入检测,以及按键输入检测的注意事项、实现方式和代码讲解等。掌握了按键检测方式之后,我们就可以用按键控制我们想要实现的其他功能啦。
    的头像 发表于 05-22 16:41 762次阅读
    <b class='flag-5'>第六章</b> GPIO输入——按键检测

    嵌入式开发入门指南:从零开始学习嵌入式

    特定功能的计算机系统,广泛应用于智能家居、工业控制、医疗设备、车载系统等领域。 2. 学习嵌入式开发的前置知识熟悉C语言编程掌握基本的数据结构与算法了解数字电路与微控制器原理熟悉Linux操作系统
    发表于 05-15 09:29

    嵌入式适合自学吗?

    嵌入式适合自学吗?其实并不建议大家自学嵌入式,主要有以下原因。 一)学习难度大 1)知识体系复杂:嵌入式系统是一个复杂的领域,涉及到计算机、电子、
    发表于 04-27 09:54

    开关电源的理论知识(电子讲义)

    内容目录 1:开发一个开关电源产品所需要的技能和专业理论知识 2:开发一个开关电源产品所需要进行的各种优化和折中 3:保证开关电源产品一次开发成功所需具备的工程素质 纯分享贴,有需要可以直接下载附件获取文档! (如果内容有帮助可以关注、点赞、评论支持一下哦~)
    发表于 04-24 17:14

    哪些专业适合学习嵌入式开发?

    :涉及传感器技术、网络通信等,是物联网领域的关键技术领域,适合转行到物联网和嵌入式领域。 3)自动化专业:自动化专业的知识对于嵌入式系统的设计和控制至关重要,适合转行到
    发表于 01-03 13:44

    蓝桥该如何备赛?

    蓝桥物联网已经换了三次开发板了,每次换板子,题目难度都会降低不少,所以说,蓝桥物联网在蓝桥
    的头像 发表于 12-19 21:02 2132次阅读
    <b class='flag-5'>蓝桥</b><b class='flag-5'>杯</b>该如何备赛?

    新手怎么学嵌入式?

    。但面对这个复杂的领域,很多人可能会感到迷茫,不知从何处入手。别担心,本文将为你提供一些入门学习嵌入式技术的建议。 新手入门学习嵌入式技术的途径 1. 了解基础知识 首先,要对嵌入式
    发表于 12-12 10:51