Uart,RS232,RS485串口通讯协议学习
目录
定义
UART(通常被称为串口,简单意味着使用广泛,具有普适性)
RS232
RS232电平转换
RS485 -Recommended Standard (再推荐标准)
485和232的对比
RS485组网
总结
定义
串口是我们都很熟悉的,尤其是需要串口调试的时候,打印信息插桩调试是再好不过的了。
而RS232和RS485都是串口通讯的变种.。
UART RS232是全双工通讯,而RS485可以是半双工通讯.也可以是全双工通讯.
RS485在半双工模式下,数据只能以单向的方式进行传输,即发送和接收不能同时进行;而在全双工模式下,发送和接收可以同时进行,实现双向通讯。因此,RS485既可以用于半双工通讯,也可以用于全双工通讯,具体取决于系统设计和实现。需要注意的是,在RS485半双工通讯中,需要通过控制线路来切换发送和接收的方向,从而实现数据的双向传输。
UART(通常被称为串口,简单意味着使用广泛,具有普适性)
串口通讯时要约定好帧格式和波特率
一般串口数据:(十位)
- 第一位为起始位,低电平
- 数据位为8位,通过8位的排列组合共256种代表256种不同的信息.(还有7位或5位的数据位)
- 第十位为停止位
波特率:9600代表1s内能传输9600个高低电平,也就是9600位数据位.
串口通讯采用TTL逻辑 Transistor -transistor login 晶体管 晶体管 逻辑
5v>高电平>2.4v。 0.4v>低电平>0v
默认认为其高电平是5v,低电平是0v,这就导致其抗干扰能力极其弱,这导致它的传输距离很短,一般在两块电路板或芯片和电脑通讯。距离小于1m,为了更稳定的通讯需要,有了RS232.
RS232
为了提高串口通讯的稳定性,Recommend Standard (推荐标准)
RS232接口:(咋一看怎么有点像连接显示器的VGA的接口),它们的功能和用途并不同.
VGA接口是一种视频传输接口,用于连接计算机主机和显示器,并传输图像信号。而RS232通讯则是一种串行通信协议,用于在计算机与外部设备之间传输数据。两者功能和用途不同,不能混淆。
一般只用标注的3根线和串口一样,共地为了保证参考电压相同.
RS232通讯需要在原来串口通讯的基础上加一个电平转换芯片.例如MAX232,这样就能够把TTL电平转换位RS232电平
10:24:56
VGA接口是RS232通讯吗
不是。VGA接口是一种视频传输接口,用于连接计算机主机和显示器,并传输图像信号。而RS232通讯则是一种串行通信协议,用于在计算机与外部设备之间传输数据。两者功能和用途不同,不能混淆。
RS232电平转换
RS232标准规定的逻辑电平是:高电平为-3V至-15V,低电平为+3V至+15V。因此,RS232会将TTL的高电平(一般指5V)通过电平转换器转换成负电平,其数值应在-3V至-15V之间。具体转换电压取决于使用的电平转换器和实际电路设计。
- 传输的数据依然和UART传输的数据相同,只是高低电平的范围变大了(12v的范围),这使得其通讯的抗干扰能力增强了。
- 通讯距离可达15m(UART最大为1m),但速率只有20k(19200的波特率)
为了更远的距离需求,人们提出了RS485。
RS485 -Recommended Standard (再推荐标准)
RS485在串口通讯的前提上加一个485转换芯片.把输入的串口信号转换为差分信号.如下图.
485转换芯片可以把差分信号转换为TTL信号,也可以把TTL信号转换为差分信号.具体怎么用,看你怎么接线了.
用两根线:差分信号线(双绞线缠绕) ——来表示逻辑1和逻辑0.并不需要地线,若受干扰也是同时受到干扰,差分信号线的电压差值几乎保持不变,提高了抗干扰的能力.传输距离可以到达1200m,传输的频率更高可以到达50M.
485和232的对比
RS485组网
一主多从的形式.而RS232和UART都是点对点的形式。
总结
串口UART,RS232,RS485只定义了物理层,对我们的编程没有任何影响,我们只需要会UART串口通讯,就能通用这3个物理层的通讯。应用层和物理层分层的好处就体现出来了。
参考
爱上半导体
相关文章:

Uart,RS232,RS485串口通讯协议学习
目录 定义 UART(通常被称为串口,简单意味着使用广泛,具有普适性) RS232 RS232电平转换 RS485 -Recommended Standard (再推荐标准) 485和232的对比 RS485组网 总结 定义 串口是我们都很熟悉的,尤其是需要串口调试的时候,打印信息插…...

UML中的assembly关系
UML中的assembly关系 1.什么是Assembly关系 在UML(统一建模语言)中,"assembly"(组装)是一种表示组件之间关系的关联关系。组件是系统中可替换和独立的模块,可以通过组装来构建更大的系统。 当一…...
[Python]缓存cachetools与TTLCache简介
文章目录 cachetools缓存策略缓存操作 TTLCache cachetools是一个Python第三方库,提供了多种缓存算法的实现。 cachetools 使用前需要先安装pip install cachetools,说明文档参见https://cachetools.readthedocs.io/en/latest/。 cachetools提供了五种…...

现在的00后,真是卷死了呀,辞职信已经写好了·····
都说00后躺平了,但是有一说一,该卷的还是卷。这不,三月份春招我们公司来了个00后,工作没两年,跳槽到我们公司起薪23K,都快接近我了。 后来才知道人家是个卷王,从早干到晚就差搬张床到工位睡觉了…...

【wpf】列表类,用相对源时,如何绑定到子项
前言 在之前的一篇文章 :《【wpf】深度解析,Binding是如何寻找数据源的》https://blog.csdn.net/songhuangong123/article/details/126195727#:~:text%E3%80%90wpf%E3%80%91%E6%B7%B1%E5%BA%A6%E8%A7%A3%E6%9E%90%EF%BC%8CBinding%E6%98%AF%E5%A6%82%E4…...

头歌计算机组成原理实验—运算器设计(3)第3关:4位快速加法器设计
第3关:4位快速加法器设计 实验目的 帮助学生掌握快速加法器中先行进位的原理,能利用相关知识设计4位先行进位电路,并利用设计的4位先行进位电路构造4位快速加法器,能分析对应电路的时间延迟。 视频讲解 实验内容 利用前一步设…...

Java中synchronized的优化
本文介绍为了实现高效并发,虚拟机对 synchronized 做的一系列的锁优化措施 高效并发是从 JDK5 升级到 JDK6 后一项重要的改进项,HotSpot 虚拟机开发团队在 JDK6 这个版本上花费了大量的资源去实现各种锁优化技术,如适应性自旋(Ada…...

软件测试技术课程:软件测试流程
软件测试流程如下: 测试计划测试设计测试执行 单元测试集成测试确认测试系统测试验收测试回归测试验证活动 测试计划 测试计划由测试负责人来编写,用于确定各个测试阶段的目标和策略。这个过程将输出测试计划,明确要完成的测试活动&#x…...

【Redis】聊一下缓存双写一致性
缓存虽然可以提高查询数据的的性能,但是在缓存和数据 进行更新的时候 其实会出现数据不一致现象,而这个不一致其实可能会给业务来带一定影响。无论是Redis 分布式缓存还是其他的缓存机制都面临这样的问题。 数据不一致是如何发生? 数据一致…...

Java学习笔记-04
目录 静态成员 mian方法 多态 抽象类 接口 内部类 成员内部类 静态内部类 方法内部类 匿名内部类 静态成员 static关键字可以修饰成员方法,成员变量被static修饰的成员,成员变量就变成了静态变量,成员方法就变成了静态方法static修…...
pubspec.yaml 第三方依赖版本控制
以下是一些常见的版本控制方式: 精确版本号:您可以指定特定的版本号,例如 dependency_name: 1.2.3。这将确保只有指定的版本被安装和使用。 范围约束:您可以使用比较运算符来指定版本范围,例如 dependency_name: ^1.2…...

打印机出现错误0x00000709的原因及解决方法
一般来说,出现错误0x00000709,可能是用户试图设置默认打印机时,系统无法完成操作的错误。这种错误通常发生在Windows 10或Windows 7操作系统上。**驱动人生**分析,其原因可能是以下几种情况: 1、已经设置了另一个打印…...
代码随想录算法训练营第二十九天|491.递增子序列、46.全排列、47.全排列 II
目录 491.递增子序列 46.全排列 47.全排列 II 491.递增子序列 本题和大家刚做过的 90.子集II 非常像,但又很不一样,很容易掉坑里。 代码随想录 视频讲解:回溯算法精讲,树层去重与树枝去重 | LeetCode:491.递增子序…...
【Kafka】Kafka监控工具Kafka-eagle简介
Kafka-eagle是一种基于Web的开源管理工具,可以用来监控、管理多个Kafka集群。 下面是使用Docker部署Kafka-eagle的步骤: 下载并安装Docker和Docker Compose。 创建文件夹,例如kafka-eagle,并在其中创建docker-compose.yml文件&a…...
Java操作MongoDB
上一篇文章: http://blog.csdn.net/gaowenhui2008/article/details/40045719 介绍到了在MongoDB的控制台完成MongoDB的数据操作,通过前一篇文章我们对MongoDB有了全面的认识和理解。现在我们就用Java来操作MongoDB的数据。 开发环境: System:…...
Java断言(assert)的介绍和使用
Java断言(assert)的介绍和使用 在Java编程中,断言(assert)是一种有用的工具,用于在代码中进行条件检查和调试。通过使用断言,我们可以验证程序的逻辑和假设,确保程序在运行时达到预…...

我的世界Fabric mod开发-快速漏斗
前往我的主页以阅读完整内容,并获取源码 DearXuan的主页 MOD介绍 使用漏斗链进行分类或传递物品时,常常会发现漏斗速度太慢,难以收集全部掉落物.或者漏斗太多,影响性能.而现有的漏斗加速mod则是引入新的快速漏斗,存在各种兼容问题.开服时发现paper服务器可以修改原…...

AI“应用商店”来了!OpenAI首批70个ChatGPT Plugin最全梳理
OpenAI放出大招,本周将向所有ChatGPT Plus用户开放联网功能和众多插件本周将向所有ChatGPT Plus用户开放联网功能和众多插件,允许ChatGPT访问互联网并使用70个第三方插件。 本批第三方插件能够全方位覆盖衣食住行、社交、工作以及学习等日常所需&#x…...

NSS LitCTF部分wp
web 1、PHP是世界上最好的语言!! 直接cat flag flagNSSCTF{11eaebe0-3764-410d-be83-b23532a24235} 2、这是什么?SQL !注一下 ! 直接查询,发现注入点是id 使用sqlmap列出所以数据库 sqlmap -u "h…...

【开发者指南】如何在MyEclipse中编辑HTML或JSP文件?(一)
MyEclipse v2022.1.0正式版下载 如果您有HTML或JSP文件要编辑,这里将介绍如何编辑。查找以下信息: 编辑源代码大纲和属性视图参数页面 该功能在MyEclipse中是可用的。 一、HTML / JSP编辑器 要编辑HTML或JSP文件,请执行以下操作当中的一…...
基于大模型的 UI 自动化系统
基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...

【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...
脑机新手指南(八):OpenBCI_GUI:从环境搭建到数据可视化(下)
一、数据处理与分析实战 (一)实时滤波与参数调整 基础滤波操作 60Hz 工频滤波:勾选界面右侧 “60Hz” 复选框,可有效抑制电网干扰(适用于北美地区,欧洲用户可调整为 50Hz)。 平滑处理&…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...

376. Wiggle Subsequence
376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...

EtherNet/IP转DeviceNet协议网关详解
一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...

ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...