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

一、前言

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

通信协议

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

二、串口通信协议(USRT)

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

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

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

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

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

串口传输数据格式

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

串口传输数据原理

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

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

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

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

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

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

串口通信终止位是高电平

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

spring循环依赖

Bean的生命周期 这里不会对Bean的生命周期进行详细的描述,只描述一下大概的过程。 Bean的生命周期指的就是:在Spring中,Bean是如何生成的? 被Spring管理的对象叫做Bean。Bean的生成步骤如下: Spring扫描class得到Bean…

yolo系列中的一些评价指标说明

文章目录 一. 混淆矩阵二. 准确度(Accuracy)三. 精确度(Precision)四. 召回率(Recall)五. F1-score六. P-R曲线七. AP八. mAP九. mAP0.5十. mAP[0.5:0.95] 一. 混淆矩阵 TP (True positives):被正确地划分为正例的个数,即实际为正例且被分类器划分为正例…

计算机编程基础教程,中文编程工具下载,编程构件组合按钮

计算机编程基础教程,中文编程工具下载,编程构件组合按钮 给大家分享一款中文编程工具,零基础轻松学编程,不需英语基础,编程工具可下载。 这款工具不但可以连接部分硬件,而且可以开发大型的软件&#xff0c…

人力资源管理后台 === 登陆+主页灵鉴权

目录 1. 分析登录流程 2. Vuex中用户模块的实现 3.Vue-cli代理解决跨域 4.axios封装 5.环境区分 6. 登录联调 7.主页权限验证-鉴权 1. 分析登录流程 传统思路都是登录校验通过之后,直接调用接口,获取token之后,跳转到主页。 vue-elemen…

C++二分查找:统计点对的数目

本题其它解法 C双指针算法:统计点对的数目 本周推荐阅读 C二分算法:得到子序列的最少操作次数 本文涉及的基础知识点 二分查找算法合集 题目 给你一个无向图,无向图由整数 n ,表示图中节点的数目,和 edges 组成…

HTTP状态码:如何修复 404 Not Found错误?

互联网上各种类型的网站非常多,无论用户还是网站运营者不可避免的会遇到404 Not Found错误,如果遇到404错误,我们应该如何解决呢? 对于用户 检查拼写错误 如果您是遇到错误的用户,请仔细检查 URL 是否有任何拼写错误…

【Flutter 常见问题系列 第 1 篇】Text组件 文字的对齐、数字和字母对齐中文

TextStyle中设置height参数即可 对齐的效果 Text的高度 是根据 height 乘于 fontSize 进行计算的、这里指定heiht即可、不指定的会出现 无法对齐的情况,如下: 这种就是无法对齐的情况

决策树(第四周)

一、决策树基本原理 如下图所示,是一个用来辨别是否是猫的二分类器。输入值有三个(x1,x2,x3)(耳朵形状,脸形状,胡须),其中x1{尖的,圆的}&#xf…

R语言实现Lasso回归

一、Lasso回归 Lasso 回归(Least Absolute Shrinkage and Selection Operator Regression)是一种用于线性回归和特征选择的统计方法。它在回归问题中加入了L1正则化项,有助于解决多重共线性(多个特征高度相关)和特征选…

什么是轻量应用服务器?可以从亚马逊云科技的优势入手了解

什么是轻量应用服务器? 随着如今各行各业对云计算的需求越来越多,云服务器也被越来越多的企业所广泛采用。其中,轻量应用服务器是一种简单、高效、可靠的云计算服务,能够为开发人员、企业和个人提供轻量级的虚拟专用服务器&#x…

【深入剖析K8s】容器技术基础(一):从进程开始说起

容器其实是一种特殊的进程而已。 可执行镜像 为了能够让这些代码正常运行’我们往往还要给它提供数据’比如我们这个加法程序所需要的输人文件这些数据加上代码本身的二进制文件放在磁盘上’就是我们平常所说的一个程序,也叫代码的可执行镜像(executablejmage&…

PostgreSQL+patroni+etcd+haproxy+keepalived高可用

PostgreSQLpatronietcdhaproxykeepalived 高可用架构 部署环境 部署postgresql-15 一主二从: role主机组件主库 node203 192.168.56.203 pg15.5 Patroni、Etcd,haproxy、keepalived 从库 node204 192.168.56.204 pg15.5 Patroni、Etcd,ha…

机器人开发的选择

喷涂机器人 码垛机器人 纸箱码垛机器人 焊接机器人 跳舞机器人 管道清理机器人 工地巡检机器人 点餐机器人 化工巡检机器人 装箱机器人 安防巡检机器人 迎宾机器人好像有点像软银那个 污水管道检测机器人 大酒店用扫地机器人 家用扫地机器人 工厂用(…

免费不限字数的文本转语音AI配音工具,无需安装

上周给大家分享了AI绘本故事制作,很多小伙伴让我,推荐一款免费的AI配音,音色质量富有情感语调,而且手机上就能用的文本转语音工具。 OK,那么今天就给小伙伴们推荐一款我经常自用的AI配音工具,无需安装下载&…

防火墙命令行基础配置实验(H3C模拟器)

嘿,这里是目录! ⭐ H3C模拟器资源链接1. 实验示意图2. 要求3. 当前配置3.1 PC配置3.2 FW配置(防火墙)[^7][^8]3.2.1 FW1配置3.2.2 FW2配置 3.3 R配置3.3.1 R1配置3.3.2 R2配置 3.4 SW配置3.4.1 SW1配置3.4.2 SW2配置3.4.3 SW3配置…

blender 3D眼球结构

角膜(Cornea):眼球的前部,透明的曲面,负责折射光线。虹膜(Iris):眼睛的颜色部分,控制瞳孔大小以调整进入眼睛的光量。瞳孔(Pupil):虹膜…

offer 选择难?说说我的 2 个思考

大家好,我是鱼皮。秋招仍在进行中,随着越来越多的公司开奖,最近 编程导航星球 的小伙伴们也陆续发来了 offer 报喜: 图片 图片 但也有一部分小伙伴陷入了 “甜蜜的烦恼”,拿了几个 offer 却不知道怎么选择。 offer 选择…

【刷题宝典NO.4】

目录 公交站间的距离 生命游戏 公交站间的距离 https://leetcode.cn/problems/distance-between-bus-stops/ 环形公交路线上有 n 个站,按次序从 0 到 n - 1 进行编号。我们已知每一对相邻公交站之间的距离,distance[i] 表示编号为 i 的车站和编号为 …

Pure-Pursuit 跟踪五次多项式轨迹

Pure-Pursuit 跟踪五次多项式轨迹 考虑双移线轨迹 X 轴方向位移较大,机械楼停车场长度无法满足 100 ~ 120 m,因此采用五次多项式进行轨迹规划,在轨迹跟踪部分也能水一些内容 调整 double_lane.cpp 为 ref_lane.cpp,结合 FrenetP…

OpenFeign入门

OpenFeign是Spring Cloud OpenFeign,是Spring Cloud团队开发的基于Feign的框架 1、OpenFeign功能升级 OpenFeign在Feign的基础上提供了以下增强和扩展功能 (1)便于集成Spring Cloud组件:OpenFeign与Spring Cloud其他组件&#…