422接收数据00_串口通信232/485/422 详细解析

16 篇文章 1 订阅
订阅专栏

1. 什么是串口通信?

2371ff7d6dd4280c49a2443036b79a88.png

        常见的串口通信一般是指异步串行通信。这里就要说一下同步和异步的区别了。

 

(1)先讲一下串行通信的概念。那么,与串行通信相对的是什么呢?

        与串行通信相对的是并行通信。并行数据传输一般都是以字节传输的,一个字节8个位。拿一个并行通信举例来说,也就是会有8根线,每一根线代表一个位。一次并行数据传输就可以传一个字节byte。

        而串口通信,就是传数据只有一根线传输,一次只能传一个位,要传一个字节就需要传8次。

d6e3fc04177694d922af3cd850aa3e82.png

 

        在很多设备上,不方便接太多线,比如接8根数据线,也不方便接同步时钟信号(这个后面再说),于是一种异步串行通信就诞生了。

        相对来说,异步串口通信,就只需要一根线就可以发送数据了。在对速率要求不高的情况,使用一根线发送数据是带来大大的方便和实用价值的。

        那么问题来了,怎么样才能保证一根线就能发送正常的数据呢。也就说发送方发送的数据,接收方是怎么知道是什么数据呢。

        为了能正常发送数据和接收正确的数据,那异步串口通信就需要满足以下几个条件:

0613979d03fb59b076176d0960a80250.png

        也就是双方必要约定一种暗号,也许当时发送这个通信的小组是这样讨论的。

  • 经理:我要用一根线就能传输数据,你来给我定个标准。
  • 研发:好。
  • 经理:只有一根线,我怎么知道数据什么时候开始呢。
  • 研发:就一根线,默认是高电平,那就有一个起始位吧。当检测到有低电平的时候,就是开始有一个字节的数据发送了,起始位之后,先是字节的最低位,传送一个字节。
  • 经理:可是,就一根线,过来的数据会不会有干扰,容易出错呀。
  • 研发:行呀,那就在字节数据(8位)后再加一个校验位。可以做奇校验,偶校验,1校验,0校验,无校验。
  • 经理:嗯 ,很不错。有起始位就应该有停止位,那我们就再加个停止位在后面吧。
  • 研发:......
  • 经理:传输一串数据,对方要怎么知道数据的拆分呢,怎么按时间或频率去解读数据位,校验位呢。
  • 研发:这样吧,双方约定一个波特率吧,定义一个每个位占用多长的时间,这样双方按这个波特率就可以处理了。
  • 经理:这个比特率呀
  • 研发:老板,是波特率。
  • 经理:我知道,是比特率嘛。
  • 研发:这个波特率呢,是指1S钟可以传输多个位,也就知道一个位占用多长时间。这样就解决传输的问题了。
  • 经理:那万一传输过程,数据太快,判断失误停不下来怎么办。
  • 研发:那就把停止位可以调节为1个停止位或者2个停止位。这样就可以停下来了。
  • 经理:嗯,听着不错。就这样办吧。

于是,串口通信就这样出来了。

        在串口的通信参数上,就有了波特率、数据位、停止位、校验位这几个参数来确保串口通信的正确性和稳定上。当然,这只是某个方面保证串口通信的正确性和稳定性,不代表设备间通信的正确性和稳定性。

2. 串口通信主要为分232,485,422 通信三种方式

说一下这三种通信方式的区别:

(1)232:

a8c41ba8c1cc6ebd2caca36f03347362.png        

        232 通信主要是由RX,TX,GND三根线组成。RX接TX,TX接RX,GND接GND。这样还是比较好理解吧。因为发送和接收分别是由不同的线处理的,也就是能同时发送数据和接收数据,这就是所谓的全双工。

        在这里扩展一下,串口通信还有一个功能叫做全功能串口通信,也叫标准串口。因为在两个设备间进行数据传输,有些设备处理速度比较快,有些数据比较慢。

        为了保证数据能正常传输,在RX,TX的基础上,还增加了几个控制引脚,本来好端端就R,T,G,三根线,凑着就凑齐了9个引脚,召唤出了DB9这个东西。

34b580e879ef0ea19fdc2fe09d81d82f.png

(2)485:

        485是为了解决232通信距离的问题。原理什么之类的就不多讲了。反正232通信距离就是不长。485主要是以一种差分信号进行传输,只需要两根线,+,-两根线,或者也叫A,B两根线。A,B两根线的差分电平信号就是作为数据信号传输。

        那么问题来了,那是不是就没有RX和TX的概念了。是的,发送和接收就不能分开了。发送和接收都是靠这两根的来传输,也就是每次只能作发送或者只能作接收,这就是半双工的概念了,这在效率上就比232弱很多了。

32c11f0625bd707e2f61126a07ae1d29.png        

        就像对讲机一样,经常是某个人讲完之后,都要说一个over,确保当前说完了,等待对方回复。

        485就是这样牺牲了232全双工的效率来达到自己传输距离远的代价。那有没有即保留了232的全双工,又可以像485这样提高传输距离呢,于是,422出来了。

(3)422:

        422呢,有些标注为485-4;而485就标注为485-2。有什么区别呢?就是为了好记呢。485-2就是2根线,485-4就是4根线。

        422就是把232的RX分成两根线,RX+,RX-,把TX分成TX+,TX-。这样就可以同时发送和同时接收了,还可以像485这样,有较远的传输距离。

c6600641cb8a79043fccf9a75e77507a.png

3. 波特率(baud rate)和比特率(bit rate)

        理解了串口中这些既熟悉又陌生的术语之后,我们再来看看波特率(baud rate)。

        说实话,在数据通信中,比特率(bit rate)比较容易理解,就是一定时间内,能够传输多少个bit。例如bps,就是bit per second的缩写。那什么是波特率呢?

        在通信中,波特率也称作符号速率(symbol rate),指的的是“数据变化”的速率。说着很拗口,我们举个例子:

        在计算机系里,小杨和小李是一对好基友,不过小杨是学霸、小李是学渣。所以,期末考试到了,小杨决定“鼎力相助”。怎么办呢?

        二人约定,考试时,小杨携带黑色和白色两支笔,根据两支笔出现的情况,表示A、B、C、D四种答案,即:

  • 白色的笔没有出现 黑色的笔没有出现 A
  • 白色的笔没有出现 黑色的笔出现 B
  • 白色的笔出现 黑色的笔没有出现 C
  • 白色的笔出现 黑色的笔出现 D

        同时约定,在考试开始1小时之后,小杨从第1道选择题开始,以每分钟更换一次的速度,更换答案。小李按照这个速度,以及大家的约定,通过观察两支笔出现的情况,获得答案。

        确实是个好方法,不过仔细想想,这其实是一个典型的异步通信过程。通信的过程中,答案更新的速度(每分钟1次),就是我们所说的baud rate(或者symbol rate),即1 bd per minute(可以把bd看着baud的单位)。

        与此同时,每次更新,传递了多少信息呢?表面上看是A、B、C、D,本质上是由白和黑所代表的两个bit,00、01、10或者11。因此,每次更新传递2个bit的信息,所以bit rate就是2 bits per minute。

上面的例子中,通信的波特率和比特率是不同的,分别为1和2(per minute),而有些通信系统,例如我们所熟知的串口通信,它们却是一样的,例如我们说115200的波特率,实际上的比特率也是115200。因为一次只传输1个bit(0或者1)。

原文链接:https://blog.csdn.net/weixin_31582099/article/details/112141637

单片机与DSP中的基于SPI总线技术的同步422接口设计
11-04
摘  要: 以SPI总线技术为基础,用微控制器S3C2450X和电平转换芯片MAX3088设计了一个RS-422接口电路,将SPI单端非平衡传输信号转换为RS-422差分信号。在保证SPI同步传输的高效性和高速性的同时,还增强了信号的抗干扰能力。   同步传输(Synchronous Transmission)是一种发送方与接收方都采用相同时钟频率的传输方式。具体来说,就是把要传输的一组数据组合成一帧,每一帧的开头部分是一组同步字符,用于通知接收方一个帧已经到达,但它同时还能确保接收方的采样速度和比特的到达速度一致,使收发双方进入同步。帧的结尾部分是一个帧结束标记,用于表示在下一帧开始之前没
基于rs232/422/485的串口鼠标模拟器
04-18
串口鼠标模拟器的核心是将键盘输入或者USB鼠标消息转化为串行数据,然后通过rs232/422/485接口发送到目标主机,使得目标主机的鼠标能够按照发送端的指令进行操作。这种技术有两大主要功能: 1. 键盘按键绑定鼠标...
422串口协议解析逻辑设计讨论
DSI技术组的博客
01-20 3869
以下分别是两种串口协议软件实现源代码、逻辑图、逻辑伪代码,针对实现进行讨论: 一、模型A的串口协议及解析 1.1 串口协议 帧头 帧计数 帧标识 有效数据区 填充字节 CRC校验和 数据区长度 帧尾 0x5A54 1Byte 0x00 48Byte
串口总结-TTL/RS232/RS422/RS485
WP947529973的博客
01-05 439
异步串行通信方式:异步串行通信是指通信双方使用各自的时钟控制数据的发送和接收过程。同步串行通信方式:同步串行通信需要通信双方在同一时钟的控制下,同步传输数据。通信速率:9600、19200、38400、57600、115200…RS485应用:首尾端接120Ω电阻做阻抗匹配、A线上拉、B线下拉。RE:接收使能信号 低电平使能。DE:发送使能信号 高电平使能。RS485自动收发控制电路。
UART、RS-232、RS-422、RS-485的区别
最新发布
hxw123aaa的博客
04-28 1326
当使用不同线径的电缆,则取得的最大电缆长度是不相同的。在特殊的字节中,例如0x01,信号“0”使得分布电容有足够的充电时间,而信号“1”到来时,由于分布电容中的电荷,来不及放电,(Vin+)—(Vin-)-还大于200mV,结果使接爱误认为是“0”,而最终导致CRC校验错误,整个数据帧传输错误。4. RS-485最大的通信距离约为1219M,最大传输速率为10Mb/S,传输速率与传输距离成反比,在100Kb/S的传输速率下,才可以达到最大的通信距离,如果需传输更长的距离,需要加485中继器。
串口通信(232,485,422)以及常见问题
我惠依旧的博客
10-10 9254
原文地址:https://blog.csdn.net/Gavinli_lgf/article/details/102836751 常见的串口通信一般是指异步串行通信。 并行通信: 与串行通信相对的是并行通信。数据传输一般都是以字节传输的,一个字节8个位。拿一个并行通信举例来说,也就是会有8根线,每一根线代表一个位。一次传输就可以传一个字节,而串口通信,就是传数据只有一根线传输,一次只能传一个位,要传一个字节就需要传8次。就像小虎队那首歌一样,把你的心,我的心,串一串,再烤一烤。串口通信就是把数据串在一
详解串口通信232/485/422,入门必看!
热门推荐
李肖遥的专栏
06-01 1万+
关注、星标公众号,直达精彩内容来源:网路素材一、RS232基础知识计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯。RS-232-C接口(又称EIA ...
【经验分享】关于RS422通信的干扰问题
xjhappyarrow的博客
07-23 1463
422通信干扰,接地
两个RS422通信模块接线解决
AI_Develope的博客
07-17 1万+
RS422的具体理论在这里就不介绍了,本文主要针对接线问题不清楚的问题进行解决。 AB负责接收数据,YZ负责发送数据,可实现全双工进行通信,接线图如下: 第一次写博客,还请大家不吝赐教!...
uart发送文本和接收数据_串口通信_labwindows_uart数据转发_
10-04
通过LabWindows/CVI的API,开发者可以构建强大的串口通信应用程序,实现UART的文本发送、数据接收以及数据转发功能。理解UART的工作原理和LabWindows提供的工具,将有助于你在实际项目中更有效地利用这一通信方式。
qcom.rar_QCom_QT 串口通信_QT串口通信_debug/myico_res.o_串口通信 QT
09-24
3. **数据解析**:根据通信协议解析接收到的数据,或者正确封装待发送的数据。 4. **实时性**:评估通信的实时性能,确保数据能够及时准确地传输。 总的来说,“QCom”作为一个基于QT的串口通信工具,结合了QT的...
基于SPI总线技术的同步422接口设计
08-08
本文中将介绍一种新型嵌入式微处理器MCF5282以及由它设计出的嵌人式主模板,能够满足多种通信方式的要求,而且其处理速度和实现多通道交直流采样的精度比起上述三类芯片都要高得多,其实时性也更完美。
C8051F120与RS422总线的时钟同步技术
08-13
本文针对RS422网络的时钟同步工作问题,提出了一种相对时钟同步解决方案;并应用单片机片内定时器设计了一个频率可调时钟,在没有增加硬件成本的前提下,明显地减小了不同单片机之间的时钟偏差。
GPS.rar_GPS_GPS 422_GPS 串口 c++_GPS 涓插彛_串口编程232
09-20
"GPS 422"可能是指GPS数据的传输协议,其中422可能是RS-422,一种增强型的串行通信接口。"GPS 涓插彛"在中文里不太常见,可能是翻译错误或拼写错误,通常GPS与涓流充电无关,但在这里可能是指数据接收的连续过程。...
读取GPRS模块数据.rar_GPRS_GPRS B/S_GPRS数据
09-20
2. **GPRS模块**:GPRS模块是物联网设备中常见的通信组件,它们通常具有AT命令集,通过串行接口与主控微处理器通信,实现数据的发送和接收。 3. **连接建立**:连接GPRS模块通常需要设置APN(Access Point Name),...
串口通讯RS232、RS422、RS485详解
2401_83817971的博客
04-06 1999
你的支持,我的动力;祝各位前程似锦,offer不断,步步高升!!!” />你的支持,我的动力;祝各位前程似锦,offer不断,步步高升!!!更多资料点击此处获qu!!
通讯协议学习之路:RS422协议理论
weixin_61908666的博客
10-19 6160
串行数据通信接口标准主要有RS-232、RS-422与RS-485,最初都是由电子工业协会(EIA)制订并发布的。RS-232在1970年发布,命名为EIA-232-E,作为工业标准,以保证不同厂家产品之间的兼容。RS-422由RS-232发展而来,它是为改进RS-232通信距离短(最大传输距离15m)、速率低(最大位速率为20Kb/s)的缺点而提出的。
RS485、RS232、RS422通信协议学习总结
weixin_53825702的博客
09-05 1273
这是博主在公司学习RS485通信的时候所学习到的知识,分享出来给读者,希望能和读者们有更深入的交流,文章内提供了RS485和RS232及RS422的免费验证板及其资料
java 485_Java实现RS485串口通信,发送和接收数据进行解析
06-13
实现RS485串口通信可以使用Java提供的Comm API,具体步骤如下: 1. 导入Comm API包,可以从Oracle官网下载。 2. 打开串口: ```java CommPortIdentifier portIdentifier = CommPortIdentifier.getPortIdentifier("COM1"); // 根据实际情况修改串口号 SerialPort serialPort = (SerialPort) portIdentifier.open("RS485Test", 2000); // 打开串口,设置超时时间2000ms serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); // 设置串口参数 serialPort.setFlowControlMode(SerialPort.FLOWCONTROL_NONE); // 设置流控制方式 ``` 3. 发送数据: ```java OutputStream out = serialPort.getOutputStream(); // 获取输出流 byte[] data = {0x01, 0x02, 0x03}; // 待发送的数据 out.write(data); // 发送数据 ``` 4. 接收数据: ```java InputStream in = serialPort.getInputStream(); // 获取输入流 byte[] buffer = new byte[1024]; // 缓存区 int len = in.read(buffer); // 读取数据,返回实际读取的字节数 if (len > 0) { byte[] data = Arrays.copyOf(buffer, len); // 处理数据 } ``` 5. 关闭串口: ```java serialPort.close(); // 关闭串口 ``` 在接收数据时,需要对数据进行解析。根据实际情况,可以采用不同的解析方式,例如按照协议规定的格式解析数据、根据数据的特征进行解析等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 在本地shell脚本中ssh到远程服务器并执行命令 119485
  • Ubuntu 16.04安装docker详细步骤 100021
  • linux设置开机启动脚本的3种方法 83083
  • vs code中项目的基本配置--include路径、运行参数、debug配置 46027
  • 微信小程序开发入门(一) 39564

分类专栏

  • 文件系统 84篇
  • 音视频 20篇
  • 内核 18篇
  • 网络 8篇
  • 数据结构 22篇
  • 数据处理 16篇
  • 无人系统应用 3篇
  • 量化交易 2篇
  • 数据融合 20篇
  • 配置管理 1篇
  • 笔记 3篇
  • BiscuitOS 1篇
  • 计算机 6篇
  • 场景 1篇
  • 物理
  • ROS课程讲义 7篇
  • 小白动手学机器学习--Python版100-Days-Of-ML-Code(python)
  • linux 340篇
  • ROS 59篇
  • java 10篇
  • C语言 144篇
  • ElasticSearch开发 4篇
  • 安卓开发 1篇
  • Python 8篇
  • 数学 21篇
  • 数据库 32篇
  • 其他 18篇
  • AI 28篇
  • 社区发现 9篇
  • 观点 2篇

最新评论

  • 盘片、片面、磁头、扇区、磁道的关系

    wdfk_prog: 直观易懂

  • C++中使用宏定义来注释掉所有的cout输出

    weixin_45667186: 能详细说说嘛

  • C++中使用宏定义来注释掉所有的cout输出

    weixin_45667186: #define dbg_printf 0&&printf 这样可以吗,代码里所有的printf都改成了dbg_printf

  • C++中使用宏定义来注释掉所有的cout输出

    weixin_45667186: 0 && printf 可以吗

  • C++中string没有结束符和C语言中string的结束符‘\0‘的差异

    立 夏: 尝试第一个用例发现,如果我不是中途给指定位置置为\0,而是一开始字符串就包含\0,那么输出是自动会在\0前结束的。

大家在看

  • 白骑士的C++教学附加篇 5.1 C++开发工具 341
  • 编写学生管理系统,实现增删改查 382
  • 【毫米波】MMSE标准毫米波系统混合波束形成【含Matlab源码 5067期】 554
  • JAVA基本语法 263
  • C++实现静态小球

最新文章

  • B样条曲线-核心思想和简要概述
  • sudo 授权问题
  • Linux下ARM64内核空间分布及页表查询
2024年2篇
2023年28篇
2022年85篇
2021年196篇
2020年189篇
2019年91篇
2018年54篇
2011年1篇

目录

目录

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

PHP网站源码爱联网站设计民治网站定制民治网站推广方案罗湖百搜词包木棉湾网页制作东莞网站建设南联设计公司网站平湖关键词排名坂田阿里店铺托管南山SEO按天计费松岗高端网站设计观澜外贸网站建设松岗网站推广系统同乐网站优化按天收费罗湖百姓网标王推广石岩关键词排名包年推广大运网站推广方案布吉关键词按天收费福田模板制作石岩seo网站优化大运英文网站建设南联百度网站优化木棉湾至尊标王木棉湾网站排名优化南澳seo排名荷坳模板推广双龙百姓网标王福永网站推广工具观澜网站设计模板西乡百度网站优化歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化