当前位置: 首页 > news >正文

ARM嵌入式学习--第九天(串口通信)

--串行与并行通信介绍

    通信方式是指双方之间的工作方式或信号传输方式,终端与其他设备(例如其他终端,计算机和外部设备)通过数据传输进行通信,根据数据的传输方式,有串行通信和并行通信

-并行通信

    利用多条传输线将一个数据的各位同时传送,其特点是传输速度,适用于短距离通信

-串行通信

    利用一条传输线将数据一位一位地顺序传送,特点是通信线路简单成本适用于远距离通信

 

 

 --串口介绍

    串口全称叫做串行接口,通常也叫做COM接口,串行接口指的是数据一个一个的顺序传输,通信线路简单,使用俩条线即可实现双向通信,一条用于发送一条用于接收

--串口通信电平标准

    所谓的电平标准,指的是在通信的过程中如何表示0和1的问题。即在通信过程中用什么样的电压表示1,用什么样的电压表示0。由于行业需求不同,在发展过程中出现了很多串口通信电平标准

-TTL标准

    TTLTransistor-Transistor Logic,即晶体管-晶体管逻辑的简称,全双工工作模式,它是计算机处理器控制的设备内部各部分之间通信的标准技术,TTL电平信号应用广泛,+5伏等价于逻辑1,0伏等价于逻辑0(数字电路中,由TTL电子元器件组成电路的电平是个电压范围,规定:

        输出高电平>=2.4V,输出低电平<=0.4V;

        输入高电平>=2.0V,输入低电平<=0.8V;

-RS232标准

    定义:它采用负逻辑-15V~-13V代表逻辑“1+3V~+15V代表逻辑“0全双工工作模式

 

-RS485标准

    RS485是一种串口接口标准,为了长距离传输采用差分方式传输,传输的是差分信号,即通过AB俩根线的电压差作为电平信号,差分信号能有效的抵御外界因素的干扰,因为干扰对俩根线的影响是一样的,俩根线的电压差不变,信号传递也就不会受干扰

    定义逻辑1AB俩根线电压差+2V~+6V逻辑0AB俩根线电压差:-6V~-2V半双工工作模式

RS485与TTL,RS232只能一对一链接不同,RS485可以一对多,在总线上是允许连接多达128个收发器

 -RS422标准

    RS422和RS485电路原理基本相同,都是差分方式发送和接收,不需要数字地线差分模式使得同速率条件传输距离更远,这正是二者与RS232的根本区别

    RS422通过俩对双绞线可以全双工工作收发互不影响,RS485采用一对双绞线故只能半双工工作,收发不能同时进行,RS422不允许出现多个发送端而只能有多个接收端,因为有俩对双绞线实现全双工,故有四条信号线T/R+,T/R-.以及一条GND线

 

 -电平标准对比

 

--串口通信协议

    起始位:串口通讯的一个数据包从起始信号开始,直到停止信号结束,数据包的起始信号由一个逻辑0的数据位表示,而数据包的停止信号可由0.5,1,1.5或2个逻辑1的数据位表示,只要双方约定一致即可,当检测到起始位到“0”即下降沿时,认为数据开始传输

    有效数据位在数据包的起始位之后紧接着的就是传输的主体数据内容,也称为有效数据,有效数据的长度被约定为5,6,7或8位长

    奇偶校验位:在有效数据之后,有一个可选的数据校验位,由于数据通信相对更容易受到外部干扰导致传输数据出现偏差,可以在传输过程加上校验位来解决这个问题。校验方法有奇校验,偶校验,0校验,无校验

        1.奇校验要求有效数据和校验位中的“1”的个数为奇数,比如一个8位长的有效数据为,01101001,此时总共有4个“1”,为了达到奇校验效果,校验位为"1",最后传输的数据将是8位的有效数据加上1位的校验位总共为9位。

        2.偶校验与奇校验要求刚好相反,要求帧数据和校验位中“1”的个数为偶数,比如数据帧:

            11001010,此时数据帧“1”的个数为4个,所以偶校验位为“0”

    停止位:数据传输结束,传输线恢复“1”状态

相关文章:

ARM嵌入式学习--第九天(串口通信)

--串行与并行通信介绍 通信方式是指双方之间的工作方式或信号传输方式&#xff0c;终端与其他设备&#xff08;例如其他终端&#xff0c;计算机和外部设备&#xff09;通过数据传输进行通信&#xff0c;根据数据的传输方式&#xff0c;有串行通信和并行通信 -并行通信 利用多条…...

Github 2025-01-25Rust开源项目日报Top10

根据Github Trendings的统计,今日(2025-01-25统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Rust项目10Python项目1Vue项目1JavaScript项目1Deno: 现代JavaScript和TypeScript运行时 创建周期:2118 天开发语言:Rust, JavaScript协议类型…...

Android BitmapShader简洁实现马赛克/高斯模糊(毛玻璃),Kotlin(三)

Android BitmapShader简洁实现马赛克/高斯模糊&#xff08;毛玻璃&#xff09;&#xff0c;Kotlin&#xff08;三&#xff09; 发现&#xff0c;如果把&#xff08;二&#xff09; Android BitmapShader简洁实现马赛克&#xff0c;Kotlin&#xff08;二&#xff09;-CSDN博客 …...

PCIE模式配置

对于VU系列FPGA&#xff0c;当DMA/Bridge Subsystem for PCI Express IP配置为Bridge模式时&#xff0c;等同于K7系列中的AXI Memory Mapped To PCI Express IP。...

python深入SQLAlchemy使用详解

上次发布《多种方式访问mysql的对比分析》一文后&#xff0c;有读者留言&#xff0c;说SQLAlchemy的使用方法没讲清楚&#xff0c;只有一段简短的介绍&#xff0c;演示代码也比较模糊&#xff0c;SQLAlchemy在实际项目运用非常广泛&#xff0c;由于其支持 ORM 模型&#xff0c;…...

Bootstrap4 模态框

Bootstrap4 模态框 Bootstrap 是一个流行的前端框架,它可以帮助开发者快速构建响应式、移动设备优先的网站和应用程序。Bootstrap 4 是其最新版本,提供了许多易于使用的组件,其中模态框(Modal)组件是其中之一。本文将详细介绍 Bootstrap 4 模态框的用法、特性和优化技巧。…...

GSI快速收录服务:让你的网站内容“上架”谷歌

辛苦制作的内容无法被谷歌抓取和展示&#xff0c;导致访客无法找到你的网站&#xff0c;这是会让人丧失信心的事情。GSI快速收录服务就是为了解决这种问题而存在的。无论是新上线的页面&#xff0c;还是长期未被收录的内容&#xff0c;通过我们的技术支持&#xff0c;都能迅速被…...

vim如何设置制表符表示的空格数量

:set tabstop4 设置制表符表示的空格数量 制表符就是tab键&#xff0c;一般默认是四个空格的数量 示例&#xff1a; &#xff08;vim如何使设置制表符表示的空格数量永久生效&#xff1a;vim如何使相关设置永久生效-CSDN博客&#xff09;...

【Uniapp-Vue3】setTabBar设置TabBar和下拉刷新API

一、setTabBar设置 uni.setTabBarItem({ index:"需要修改第几个", text:"修改后的文字内容" }) 二、tabBar的隐藏和显式 // 隐藏tabBar uni.hideTabBar(); // 显示tabBar uni.showTabBar(); 三、为tabBar右上角添加文本 uni.setTabBarBadge({ index:"…...

【玩转全栈】----Django模板的继承

先赞后看&#xff0c;养成习惯&#xff01;&#xff01;&#xff01; 目录 模板继承的好处 模板继承的语法规则 更新代码 上文中的部门管理页面&#xff1a; 【玩转全栈】----Django制作部门管理页面-CSDN博客 大家会发现&#xff0c;由于定义了多个html文件&#xff0c;多个ht…...

详解数据库系统概述

数据库系统概述 1. 数据库&#xff08;Database&#xff09;1.1 定义&#xff1a;1.2 特点&#xff1a;1.3 举例&#xff1a; 2. 数据库管理系统&#xff08;DBMS&#xff1a;Database Management System&#xff09;2.1 定义&#xff1a;2.2 DBMS 的主要功能&#xff1a;2.3 常…...

Windows的docker中安装gitlab

一.Windows的docker中安装gitlab 1.通过阿里云拉取镜像 docker pull registry.cn-hangzhou.aliyuncs.com/lab99/gitlab-ce-zh 2.在本地创建备份数据的目录 mkdir -p D:home/software/gitlab/etc mkdir -p D:home/software/gitlab/logs mkdir -p D:home/software/gitlab/dat…...

基于微信小程序的健身管理系统设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…...

windows 安装 mysql 教程

一、下载 点开下面的链接&#xff1a; https://downloads.mysql.com/archives/community/ 点击Download 就可以下载对应的安装包了, 安装包如下: 二、解压 下载完成后我们得到的是一个压缩包&#xff0c;将其解压&#xff0c;我们就可以得到MySQL 8.0.28 的软件本体了(就是…...

Vue2+OpenLayers初始化高德地图

目录 一、案例截图 二、完整代码 一、案例截图 二、完整代码 一键复制即可运行&#xff1a; <template><div id"map-container"></div> </template> <script> import { Map, View } from ol import { Tile as TileLayer } from ol…...

六、深入了解DI

依赖注入是⼀个过程&#xff0c;是指IoC容器在创建Bean时,去提供运⾏时所依赖的资源&#xff0c;⽽资源指的就是对象. 在上⾯程序案例中&#xff0c;我们使⽤了 Autowired 这个注解&#xff0c;完成了依赖注⼊的操作. 简单来说,就是把对象取出来放到某个类的属性中。 关于依赖注…...

IMX6ull项目环境配置

文件解压缩&#xff1a; .tar.gz 格式解压为 tar -zxvf .tar.bz2 格式解压为 tar -jxvf 2.4版本后的U-boot.bin移植进SD卡后&#xff0c;通过串口启动配置开发板和虚拟机网络。 setenv ipaddr 192.168.2.230 setenv ethaddr 00:04:9f:…...

Edge-TTS在广电系统中的语音合成技术的创新应用

Edge-TTS在广电系统中的语音合成技术的创新应用 作者&#xff1a;本人是一名县级融媒体中心的工程师&#xff0c;多年来一直坚持学习、提升自己。喜欢Python编程、人工智能、网络安全等多领域的技术。 摘要 随着人工智能技术的快速发展&#xff0c;文字转语音&#xff08;Te…...

芸众商城小程序会员页面部分图标不显示问题解决办法

我遇到的问题 如下图所示&#xff0c;会员中心这里的图标在小程序端显示异常。但是在网页端又是能够正常显示的。 小程序端截图&#xff1a; 网页端截图&#xff1a; 我的解决方法 检查使用的小程序版本&#xff0c;比如这里使用的是1.2.238版本的小程序&#xff0c;最后…...

手机app如何跳过无障碍权限实现弹框自动点击-ADB连接专题

手机app如何跳过无障碍权限实现弹框自动点击 --ADB连接专题 一、前言 我们在前期的时候&#xff0c;在双SIM卡进行协同外呼和SIM卡切换时&#xff0c;对如何在手机中“执行批处理脚本做自动点击”的内容进行预研&#xff0c;力图使用事件触发和坐标点击等方式来实现手机安装…...

ESP32读取DHT11温湿度数据

芯片&#xff1a;ESP32 环境&#xff1a;Arduino 一、安装DHT11传感器库 红框的库&#xff0c;别安装错了 二、代码 注意&#xff0c;DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 &#xff08;一&#xff09;概念解析 TRS&#xff08;Total Return Swap&#xff09;收益互换是一种金融衍生工具&#xff0c;指交易双方约定在未来一定期限内&#xff0c;基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

Psychopy音频的使用

Psychopy音频的使用 本文主要解决以下问题&#xff1a; 指定音频引擎与设备&#xff1b;播放音频文件 本文所使用的环境&#xff1a; Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...

AI编程--插件对比分析:CodeRider、GitHub Copilot及其他

AI编程插件对比分析&#xff1a;CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展&#xff0c;AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者&#xff0c;分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

【7色560页】职场可视化逻辑图高级数据分析PPT模版

7种色调职场工作汇报PPT&#xff0c;橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版&#xff1a;职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...

Webpack性能优化:构建速度与体积优化策略

一、构建速度优化 1、​​升级Webpack和Node.js​​ ​​优化效果​​&#xff1a;Webpack 4比Webpack 3构建时间降低60%-98%。​​原因​​&#xff1a; V8引擎优化&#xff08;for of替代forEach、Map/Set替代Object&#xff09;。默认使用更快的md4哈希算法。AST直接从Loa…...

Kafka主题运维全指南:从基础配置到故障处理

#作者&#xff1a;张桐瑞 文章目录 主题日常管理1. 修改主题分区。2. 修改主题级别参数。3. 变更副本数。4. 修改主题限速。5.主题分区迁移。6. 常见主题错误处理常见错误1&#xff1a;主题删除失败。常见错误2&#xff1a;__consumer_offsets占用太多的磁盘。 主题日常管理 …...

书籍“之“字形打印矩阵(8)0609

题目 给定一个矩阵matrix&#xff0c;按照"之"字形的方式打印这个矩阵&#xff0c;例如&#xff1a; 1 2 3 4 5 6 7 8 9 10 11 12 ”之“字形打印的结果为&#xff1a;1&#xff0c;…...

土建施工员考试:建筑施工技术重点知识有哪些?

《管理实务》是土建施工员考试中侧重实操应用与管理能力的科目&#xff0c;核心考查施工组织、质量安全、进度成本等现场管理要点。以下是结合考试大纲与高频考点整理的重点内容&#xff0c;附学习方向和应试技巧&#xff1a; 一、施工组织与进度管理 核心目标&#xff1a; 规…...