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


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

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

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

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

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

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

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

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

  • 相关阅读:
    Python垃圾回收机制详解:引用计数与循环垃圾收集器
    Python读取Excel工作表数据写入CSV、XML、文本
    01 数据库和MySQL简介
    kafka connector
    微服务在idea中简单部署到docker
    JavaScript数组的常用方法
    图扑智慧电力可视化大屏,赋能虚拟电厂精准减碳
    基于 ByteHouse 构建实时数仓实践
    go recover
    SpringBoot:Web开发之Filter实践
  • 原文地址:https://blog.csdn.net/grandision/article/details/134530354