一、深入简出串口(USRT)通信——基本概念。

一、前言

串口到底是什么?简单来说一句话就可以解释,串口就是一种通信协议
看到这里可能大家会觉得你这不是放屁么,说了跟没说一样。所以这里做前言来描述,大家要先对通信协议有一个下意识地认识才能在学习串口的时候不至于迷茫。

通信协议

所谓通信协议,说白了就是传输数据的双方规定好的一些规则。
就像你朋友问你这周末去干嘛?你回复个233。如果不事先规定好,你朋友肯定觉得一头雾水。
另一种情况同样是你朋友问你这周末去干嘛?但是你俩事先规定了,2就是钓鱼,3就是追剧。那么他就知道你周末要做的事就是钓鱼、追剧、追剧。

二、串口通信协议(USRT)

前面我们知道串口是一种通信协议。详细点来说:

串口协议是一种全双工串行异步的通信协议。

对于纯小白来说乍一看挺唬人的。其实就是加上三个修饰语。
全双工:接收信息,和发送信息可以同时进行。
在这里插入图片描述

串行:传输数据的时候数据走同一根数据线。
在这里插入图片描述

异步:各自使用自己的时钟。
异步就像是你给一个远在大洋彼岸的朋友发送信息,可能你这里是早上8:00,他那里是下午3:00。那么你这里显示的发送时间就是早上8:00,他那里显示接收到的时间就是下午3:00。

串口传输数据格式

数据格式,是作为一个通信协议很重要的一部分。这就像你和中国人聊天用中文,和英国人聊天用英格力士。
串口的数据格式如下:
在这里插入图片描述
上图中绿色的数据部分自然不必多说,本来就是为了传输数据才有的串口协议,所以必须携带数据。但是另外三个为什么在传输数据的时候还有这三个东西呢?
起始位: 标志数据传输的开始。
这个有必要解释一下,为什么需要起始位,串口这个东西可以将它想象成对讲机一样,你将对讲机调到指定频道,他就会一直传来各种声音,那么什么时候这些信息是对你说的呢?那就是你听到对讲机里有人喊你的时候,你才应该认真听接下来的信息。这个就是起始位的作用。
如果不要这个起始位,你就无法分析对讲机传来的声音到底什么时候是对你说的,想象一下你手握的对讲机一直在传递命令但是并没有指定是对谁说的,也是很诡异的。
校验位: 校验数据是否正确。
校验位就是一种防止信息出错的一种保障,就像你给你的好兄弟或者好闺蜜寄一个很贵重的东西,你在包装她的时候贴了一个封条,你俩约定好对方收到后先检查封条,如果封条没问题就证明你发出去的东西没有被动过。体现在数据传输就是校验位
停止位: 表明数据传输完成。
这个没啥可解释的,就是表明这个数据发完了。

串口传输数据原理

串口通信是利用高低电平来完成的。数据以0,1的形式传递。

0: 0V电压。
1: 3.3~5V电压。
这么解释会使我们感到它的原理云遮雾罩,类比一下就可以很好理解。
想象一下,梦回古代现在两军交战,你负责统帅三军,那么该如何指挥?
古人很聪明啊,他们想到用旗帜的是否举起来传递信息,举旗进攻,落旗后撤。这其实就可以当作串口中的高低电平。

串口通信空闲的时候是高电平

上述例子有个问题,就是不传递信息的时候,我的🚩到底是举着还是落了?这时候我们规定不用的时候举起来。体现在串口通信就是空闲态为高电平

串口通信起始位是高电平到低电平的变换

回到上面的假设,不传递信息的时候,我的🚩一直举着,传递信息时举旗代表进攻。观察员该怎么分辨到底是进攻还是空闲?这里我们规定当旗帜从举着到挥下,这个代表开始传递信息(起始位),观察员看到这个就知道,好了下面该传递信息了。

串口通信终止位是高电平

上面我们已经知道,高电平代表空闲态,不传输数据了。所以停止位就是要把电平恢复到高电平。
这里为什么不说 串口通信终止位是低电平到高电平的变换 呢?
因为传输数据完就是停止位,所以谁知道最后一位数据是高电平还是低电平。
就像上面用旗子传递,谁知道你最后一个指令是举着旗子还是落下旗子。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/219389.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TCP/IP协议、三次握手、四次挥手

TCP/IP TCP/IP协议分层TCP头部三次握手TCP四次挥手常见问题1、什么是TCP网络分层2、TCP为什么是三次握手,不是两次或者四次?3、TCP为什么是四次挥手,为什么不能是三次挥手将第二次挥手和第三次挥手合并?4、四次挥手时为什么TIME_W…

【版本管理 | Git】Git rebase 命令最佳实践!确定不来看看?

🤵‍♂️ 个人主页: AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!&…

java基于springboot公益帮学网站 新闻发布系统的设计与实现vue

以Java为开发平台,综合利用Java Web开发技术、数据库技术等,开发出公益帮学网站。用户使用版块:可以选择注册并登录,可以浏览信息、可以网上互动、发布文章、内容推荐等。后台管理员管理版块:以管理员身份登录网站后台…

局域网的网络ip不稳定问题

在局域网的多个设备,互相通信时好时坏,不稳定。 遭遇过的情况如下: 用两个开发板:972开发板1和2,网口同时互相ping,出现1ping 2通--此时2ping 1不通,过段时间,1ping2不通--但2ping又…

openpnp - 给底部相机加防尘罩

文章目录 openpnp - 给底部相机加防尘罩概述笔记END openpnp - 给底部相机加防尘罩 概述 设备标定完, 看着底部相机, 有点担心掉进去东西, 万一从吸嘴掉下去的料(或者清理设备台面时, 不小心掉进去东西)将顶部相机搞短路怎么办. 就想加个防尘罩, 如果有东西掉进去, 可以掉到机…

用 Addon 增强 Node.js 和 Electron 应用的原生能力

前言 Node.js Addon 是 Node.js 中为 JavaScript 环境提供 C/C 交互能力的机制。其形态十分类似 Java 的 JNI,都是通过提供一套 C/C SDK,用于在 C/C 中创建函数方法、进行数据转换,以便 JavaScript / Java 等语言进行调用。这样编写的代码通常…

网络通信基础概念介绍

网络通信基础概念介绍 局域网LAN 局域网,即 Local Area Network,简称LAN。 局域网内的主机之间能方便的进行网络通信,又称为内网;局域网和局域网之间在没有连接的情况下,是无法通信的。 局域网是指在一个相对较小的…

信息素养大赛知识点

基础理论准备 开放存储期刊 开放存取期刊是一种免费的网络期刊,旨在使所有用户都可以通过因特网无限制地访问期刊论文全文。此种期刊一般采用作者付费出版、读者免费获得、无限制使用的运作模式,论文版权由作者保留。在论文质量控制方面,oa…

OSG编程指南<十一>:OSG几何体操作及三维地形创建

1、简化几何体 在 OSG 中,场景都是由基本的绘图基元构成的,基本的绘图基元构成简单的几何体,简单的几何体构成复杂的几何体,复杂的几何体最终构造成复杂的场景。当多个几何体组合时,可能 存在多种降低场景渲染效率的原…

医学检验(LIS)管理系统源码,LIS源码,云LIS系统源码

医学检验(LIS)管理系统源码,云LIS系统全套商业源码 随着全自动生化分析仪、全自动免疫分析仪和全自动血球计数器等仪器的使用,检验科的大多数项目实现了全自动化分析。全自动化分析引入后,组合化验增多,更好的满足了临床需要&…

【c++j继承】

在编程领域中,面向对象是一种非常流行的程序设计方法。C 继承是面向对象编程中的一个重要概念,它允许我们创建一个新的类(子类)来继承已有的类(父类)的属性和方法。通过继承,我们可以实现代码的…

ps5ps4游戏室如何计时?计费系统怎么查看游戏时间以及收费如何管理

ps5ps4游戏室如何计时?计费系统怎么查看游戏时间以及收费如何管理 1、ps5ps4游戏室如何计时? 下图以佳易王计时计费软件V17.9为例说明 在开始计时的时候,只需点 开始计时按钮,那么开台时间和使用的时间长度项目显示在屏幕上&am…