串口工作流程硬核解析,没有比这更简单的了!

串口通信,就是我们常说的串口通讯,是一种短距离、点对点的数据传输方式。它基于串行通信协议,通过串口线连接设备进行数据交互。串口在很多硬件系统中广泛使用,是工控机、单片机、外设设备之间信息交换的重要接口。

那串口是怎么工作的呢?我们举个形象的例子。假设A和B是两台设备,它们通过串口线相连。现在A要向B发送数据“12345”,下面就看看串口是怎么一步步处理和传输这组数据的。

第一步是“整体打包”。A会把要传的数据“12345”作为一个整体打包起来,加上一些必要的控制信息,像邮寄一个包裹那样。这里的控制信息类似我们填好的快递单,记载了重要参数–发送设备地址、接收设备地址、数据长度等等。 

第二步是“字符分割”。A会把刚才打包的整体数据分割成一个个字符,按照串口协议规则,把每8个bit位作为一个字符。比如“12345”会被分割为多个8bit序列。这个过程就像把一个大箱子里的东西取出来,平整的摆放。

第三步是“串行发送”。串口只有一根发送数据线,所以不能多个bit并行传输。A会按照事先规定好的波特率,从第一个bit开始,按顺序串行发送分割好的字符。就像饭店服务员端菜一样,只有一手,所以一次只能端一个盘子。 

第四步是“串行接收”。相对应的,B这边也是采用单线串行的方式,按照规定波特率,时钟线同步,一位一位的接收A发送来的字符。依次把从线上传来的字符填充到自己的缓冲区,就像服务员端上一个又一个盘子。

第五步是“重新装箱”。B这边会对接收到的所有字符进行校验、解析,把相关的控制字符及数据整理到一起,还原成A端发送时的完整数据包。这个过程就像快递员收到寄来的包裹,会核对单号、数物品,然后打包存放。

至此整个串口发送接收的基本过程就完成了。每一次串口通信,这几个步骤都会依次执行,最终实现设备之间点对点的数据传输。理解这一原理,对我们调试和应用串口通信就更加得心应手了。

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

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

相关文章

Wireshark的数据包它来啦!

通过Wireshark工具,可以轻松的看到网卡的数据信息。通过Wireshark显示的数据包内容信息,通常分七栏,介绍一下: 1No.: 数据包编号。 2.Time Time显示时间,以1号数据包发生开始计时。 3.Source Source显示内容…

探秘TikTok社群:短视频中的共同体验

社交媒体平台TikTok成为全球用户分享创意、表达自我、建立连接的重要场所。在这个数字化的时代,TikTok社群不仅是个人创作者的聚集地,更是成千上万用户共同参与、体验的独特社交现象。 本文将深入探讨TikTok社群的形成、特点以及其中的共同体验&#xf…

[java进阶]——泛型类、泛型方法、泛型接口、泛型的通配符

🌈键盘敲烂,年薪30万🌈 目录 泛型的基础知识: ♥A 泛型的好处: ♠A 泛型擦除: ♣A 泛型的小细节: 泛型的使用: ①泛型类: ②⭐泛型接口: ③泛型方法&…

大结局!OpenAI创始人奥特曼和 Greg Brockman 将加入微软!!!

持续48小时的OpenAI政变大戏终于迎来了大结局! 微软堪称最大赢家💥💥💥 微软CEO刚刚宣布: 我们仍然致力于与 OpenAI 的合作伙伴关系,并对我们的产品路线图、我们在 Microsoft Ignite 上宣布的一切继续创…

【基于Ubuntu下Yolov5的目标识别】保姆级教程 | 虚拟机安装 - Ubuntu安装 - 环境配置(Anaconda/Pytorch/Vscode/Yolov5) |全过程图文by.Akaxi

目录 一.【YOLOV5算法原理】 1.输入端 2.Backbone 3.Neck 4.输出端 二.【系统环境】 1.虚拟机的安装与创建 2.安装Ubuntu操作系统 3.环境的配置 3.1.Ubuntu下Anacoda安装以及虚拟环境配置 3.2.Pytorch安装 3.3.Vscode安装 3.4.Yolov5源码及环境获取安装…

SPI 实验

SPI介绍 SPI 是英语 Serial Peripheral interface 缩写,顾名思义就是串行外围设备接口。SPI 通信协 议是 Motorola 公司首先在其 MC68HCXX 系列处理器上定义的。SPI 接口是一种高速的全双工 同步的通信总线,已经广泛应用在众多 MCU、存储芯片、AD 转换器…

Java八股文(急速版)

Redis八股文 我看你在做项目的时候都使用到redis,你在最近的项目中哪些场景下使用redis呢? 缓存和分布式锁都有使用到。 问:说说在缓存方面使用 1.在我最写的物流项目中就使用redis作为缓存,当然在业务中还是比较复杂的。 2.在物流信息…

国外客户要求免费样品?我来教你如何应对

这一次的问题对外贸业务员来说是非常重要。无论你是做什么行业,无论你是做什么产品我相信这个问题对你来说超级有用。 关于发样品给客户我有四个方案来跟大家分享,我希望你能够喜欢希望你很认真的思考一下: 方法一【样品费及运费一起收】&am…

模方4.1.0新版本正式上线啦!

新增单体化自动建模,直角搭桥、复制三角形两种方式补洞等功能,还有更多功能优化,让你的三维模型更好看! 欢迎前往官网下载试用→武汉大势智慧-实景三维-云端建模-新型基础设施

效率提升利器:Automa插件的实用指南

Automa是一个chrome扩展,通过拖拽0代码实现工作流,模拟网页的各种点击、表单填写等操作,使用时点击插件脚本一键执行,或者设置定时执行,从而简化我们的工作。 功能介绍 官方文档地址:Getting started | Au…

Spring的后处理器

目录 引言 BeanFactoryPostProcessor 注意 BeanPostProcessor 引言 Spring的后处理器是spring对外开发的重要扩展点,允许我们介入到Bean的整个实例化流程来,以达到动态注册BeanDefintion,动态修改BeanDefintion,以及动态修改Be…

怎么实现在微信公众号秒杀商品的功能呢

实现微信公众号秒杀商品的功能,需要结合微信公众平台和后端开发技术。下面将介绍整个实现过程,包括前期准备、开发流程和后期运营等方面。 一、前期准备 确定秒杀商品:选择适合秒杀的商品,要求数量充足、质量良好,同时…

一次性能测试,为啥把我逼疯了?

最近,公司领导让我做下性能方面的竞品对比,作为一个性能测试小白的我,突然接到这样的任务,下意识发出大大的疑问。 整理好心情,内心想着“领导一定是为了考验我,才给我这个任务的”,开始了这一…

electron使用electron-builder macOS windows 打包 签名 更新 上架

项目文件大概目录 1. 安装electron-builder 2. macOS 2.1 创建 Certificates, Identifiers & Profiles Devices 在mac上安装xcode,打开xcode,然后按以下步骤操作。 (1) xcode的菜单栏:xcode > settings。登录apple id。 (2) 登录后…

【操作系统】文件系统之文件共享与文件保护

文章目录 文件共享硬链接软链接 文件保护口令保护加密保护访问控制 文件共享 为了实现文件的共享,引入了“计数器”字段,当一个文件每被一个用户所共享,那么计数器就加一。如果一个用户删除文件,计数器相应的减一。如果计数器为0…

uniapp+vue3使用pinia,安卓端报错白屏

报错内容: reportJSException >>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->at useStore2 (app-service.js:1487:15)at (app-service.js:1714:17)at (app-serv…

认识.NET Aspire:高效构建云原生应用的利器

简介 在几天前的.NET 8发布会上,来自微软的Glenn Condron和David Fowler为我们演示了.NET Aspire,在Visual Studio的帮助下,它展现出了惊人的开发效率。 短短的十分钟内,David现场演示了如何轻松创建了一个具有服务发现&#xf…

Unity模拟薄膜干涉效果

Unity制作薄膜干涉效果,色彩斑斓的黑色石头 大家好,我是阿赵。   这次来做一个模拟薄膜干涉的彩色效果,Shader是使用ASE来连接,也算是ASE做复杂一点的效果的一个例子吧。 一、什么是薄膜干涉 以下解释来源于百度百科&#xff1…

【开源】基于Vue和SpringBoot的微信小程序的音乐平台

项目编号: S 055 ,文末获取源码。 \color{red}{项目编号:S055,文末获取源码。} 项目编号:S055,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块三、系统展示 四、核心代码4.1 查询单首…

Oracle(2-4)Naming Method Configuration

文章目录 一、基础知识1、OV of Naming Methods 命名方法的OV2、Five Key Parameters 连接数据库的五个关键参数 二、基础操作1、tnsnames.ora网络名配置 Naming Method Configuration 数据库网络命名配置 目标1: 描述主机命名和本地服务名称解析之间的区别使用Orac…