串口通信

1.1 串口简介

在这里插入图片描述
在串口中 用0和1表示高低电平
在这里插入图片描述VCC供电 设备A给设备B供电 如果各自都有供电的模块就不需要连接这个线 GND的连线是为了获取相同的电压基准 因为有时候获得电压各自判断的标准不一样 可能获得不一样的电压 如果想A发送数据给B那么蓝线不需要连接 如果想B发送给A那么绿线不需要连接 下面的图是一个是一个实列 蓝牙和电脑连接(电脑只有USB接口)

数据帧

数据帧的概念
在这里插入图片描述
数据通过蓝线或者绿线进行传输 传输的数据就是0 1的高低组成
把传输的数据分为8个bit一个单位(就是一个字节)然后把这个基本的单位取出加入头和尾 就形成了数据帧
串口数据帧的格式
在这里插入图片描述
在串口中传输数据的单元就是数据帧
空闲状态
在这里插入图片描述
数据的传输 就是用高电平表示空闲 传完一个数据帧或多个数据帧就进入空闲状态 如图是示波器采集到的一个数据帧传输的过程 红色圈起来的就表示高电平(空闲状态)
数据位
在这里插入图片描述
起始位 一开始数据的接收方一直是高电平表示空闲状态 然后当开始传输数据传输方就向接收方传入一个低电平 表示数据传输的开始
在起始位和停止位中间就是数据位(可为8或者9位)
数据位的长度时刻变化的 图片上示波器的图片就是8位 数据帧传输就是从LSB传起 右侧的1 2 4 8表示的是权重 (2的几次方)叫先传数据最低有效位
校验位
在这里插入图片描述
校验位是位于数据位的最后一位 是接受方查看接收到的数据是否正确 可以为7位数据位 1位校验位 也可以为8位数据位1位校验位
校验的原理
在这里插入图片描述
如选择8位有效数据位一位校验位 如果要发送的数据是10101100 那么1的个数位4选择奇校验在校验位补上一个1 总共为5个1 然后如果在传输的过程中数据出现了错误 那么接收方的校验位就会多一个1或者少一个1从而知道自己接收到的数据出现了错误
停止位在这里插入图片描述
高电平的长度可以表示停止位
一个数据传输的例子
在这里插入图片描述
当空闲时就是高电平 然后传输方向接收方传送一位低电平表示数据开始传输 数据位 要发送的数据是01011011但是数据的传输是从LSB开始传输(叫先传数据最低有效位)所以在数据位体现出来的就是11011010 然后校验为偶校验 数据位一共有5个1 在校验位补上一个1总共为6个1 传输数据 最后为一位高电平的停止位
连续发送数据的例子
在这里插入图片描述
在多个数据的发送中没有空闲

异步通信和波特率

同步通信
在这里插入图片描述
双方不仅需要一根数据线还有一根时钟线 以IIC为例子 当时钟变为低电平数据得以接受 有高电平变为低电平 然后时钟由低电平变为高电平就表示数据正在被采集 数据接收方正在采集这个传入的低电平
异步通信
在这里插入图片描述
串口就是异步通信 那么双方如何协调呢?
波特率
在这里插入图片描述
码元就是表示高低电平 如8位数据位就是8个码元
波特率越高就表示码元的宽度越窄
在这里插入图片描述
一开始数据接受方就开始不断采集电平 采集到高电平变为低电平就表示着数据的传输 然后先采集1.5个码元然后依次采集一个码元 接受完所有的数据
波特率相同表示数据发送方和数据接收方保持着相同的数据传输速度 然后相同的数据帧格式
流控的概念
在这里插入图片描述
其实就是表示数据的发送方发送数据太快导致接收方的接收信息处理不够快 导致数据的丢失 为了防止这种情况的发生 当传输完数据后需要接收方传回一个反馈信号表示数据采集完成 接着开始下一个数据的发送 依次保证数据的准确性 这个反馈的信号就叫做流控信号
串口流控的工作原理
在这里插入图片描述
接收方的RTS可以把流控信号传回给数据发送方 当RTS传输低电平表示数据可传输 高电平表示接受方正在采集处理信息

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

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

相关文章

Springboot升级为3.0.6

版本升级 Springboot升级为3.0.6 版本从原来的2.7.12换成了3.0.6 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.0.6</version><relativePath/> <…

Python系列:如何提高python程序代码的健壮性

前言 在编程的时候,我们难免会遇到一些不可靠的情况,比如网络请求失败,数据库连接超时等等。这些不确定性会让我们的程序容易出现各种错误和异常。那么如何来增加程序的容错性和健壮性呢? 可能大多数人会想到使用try except来进行异常捕捉进行失败重试(Retry)。虽然try-esc…

什么是好用的HR人才测评?

对于HR来说&#xff0c;选用一个合适的测评工具&#xff0c;我想不外乎以下几点&#xff1a; 1、成本可控 不是所有的HR都能申请到足够的资金&#xff0c;去做专业的人才测评&#xff0c;尤其是中小企业&#xff0c;这可是一笔不小 的开支。即使是基层普通岗位的成本&#xf…

【Spring】IoC容器的一些总结与补充

文章目录 1. 创建容器的两种方式相对路径导入绝对路径导入 2. 获取Bean的三种方式getBean后强转类型getBean内写明类别根据类别获取bean 3. 容器层次结构4. BeanFactory5. bean的总结6. 注入的总结 1. 创建容器的两种方式 相对路径导入 ApplicationContext ctx new ClassPat…

【计算机网络学习之路】网络基础1

文章目录 前言一. 计算机网络发展局域网和广域网 二. 网络协议三. OSI七层模型四. TCP/IP四层&#xff08;五层&#xff09;模型五. 计算机体系结构与网络协议栈六. 协议形式及局域网通信数据包封装与分用 七. 跨网络通信八. MAC地址与网络通信的理解结束语 前言 本系列文章是…

C语言再学习 -- 编程规范

C语言编程规范这部分一直想总结一下。现在终于付诸行动了。 其实之前讲过一些面试题&#xff0c;参看&#xff1a;嵌入式面试知识点总结 – C语言篇 里面已经有包含一部分了&#xff0c;比如《高质量C C编程指南》.林锐着.pdf。 此次主要参考 华为技术有限公司c语言编程规范 …

欧科云链研究院:DeFi 将要纳税?美国国税局召开听证会

出品&#xff5c;欧科云链研究院 作者&#xff5c;Matthew Lee 北京时间 11月15日&#xff0c;美国国税局&#xff08;IRS&#xff09;召开了一场备受瞩目的听证会&#xff0c;讨论扩大加密货币资产的征税范围。此次听证会囊括了诸多关键议题&#xff0c;包括用户隐私、必须报…

Arduino项目式编程教学前言

前言–先聊聊我的经历 在停更数年之后&#xff0c;还是打算重新开启Arduino编程教学这一项目&#xff1b;这几年间&#xff0c;我从Arduino编程开发教学&#xff0c;转到C及python教学&#xff0c;又到如今的高中数学教学&#xff0c;跨度竟如此之大&#xff0c;但始终未脱离教…

23111702[含文档+PPT+源码等]计算机毕业设计javaweb高校宿舍管理系统寝室管理

文章目录 **软件开发环境及开发工具&#xff1a;****项目功能介绍&#xff1a;****论文截图&#xff1a;****实现&#xff1a;****代码片段&#xff1a;** 编程技术交流、源码分享、模板分享、网课教程 &#x1f427;裙&#xff1a;776871563 软件开发环境及开发工具&#xff…

ubuntu20.04在docker下运行ros-noetic

经常折腾虚拟机各双系统 &#xff0c; 想着不如把docker利用起来&#xff0c;下面算是一个初学者使用docker运行ros的记录&#xff1a; 1. 安装 使用官方安装脚本自动安装 curl -fsSL https://test.docker.com -o test-docker.shsudo sh test-docker.sh验证是否安装成功 doc…

upload-labs关卡9(基于win特性data流绕过)通关思路

文章目录 前言一、靶场需要了解的知识1::$data是什么 二、靶场第九关通关思路1、看源码2、bp抓包修改后缀名3、检查是否成功上传 总结 前言 此文章只用于学习和反思巩固文件上传漏洞知识&#xff0c;禁止用于做非法攻击。注意靶场是可以练习的平台&#xff0c;不能随意去尚未授…

微商助手一款微商、群发、拓宽人脉的营销神器

微商助手 它是专为微商朋友打造的&#xff0c;通过它可以快速的发朋友圈&#xff0c;它拥有许多实用的功能&#xff0c;可以为微商用户提供最便捷的操作方式&#xff0c;实现更多的目的&#xff0c;从而达到自己的理想效果。 资源获取 需要的可以点击文章 微商助手学习版 进行…