【概述】本文主要讨论RS232是否支持一对多的通信结构?以及为什么说RS485具有联网功能。

之前一直用UART+RS232进行点对点的通信,最近接触RS485,网上查资料学习时,发现有很多关于RS232与RS485的讨论。其中发现一个分歧:RS232是否支持多点通信。

先来看看网上的一些讨论:
(1)这种接口(RS232)可以实现点对点的通信方式,但这种方式不能实现联网功能。
(2)485是半双工通信,为什么用485?因为232只能是点对点,而485可以一对多(一主多从)。
(3)能否用RS232实现多机通信呢?本人经过具体项目实施验证,答案是肯定的。
(4)我也在用1主10从,很正常的用法,没什么不可以的。(使用RS232搭建)

明显,一部分人认为RS232只支持点对点通信,而另一部人认为RS232可以支持一对多通信(一主多从)。
看到这些,我很疑惑,究竟正确答案是什么?

我去看RS232标准:《Interface Between Data Terminal Equipment and Data Circuit Terminating Equipment Employing Serial Binary Data Interchange》,无果(有点长,没细看,也许有答案)。
接着,我在维基百科找到了一点资料wikepedia-RS232
其中Limitations of the standard一节有如下描述:
Multi-drop connection among more than two devices is not defined. While multi-drop “work-arounds” have been devised, they have limitations in speed and compatibility.

我认为这就是答案,亦即在RS232标准中并未对多点通信进行定义。这种未定义有点类似未被法律规范的行为,你说合法也行,不合法也行,是最容易起争议的地方。而且,如果你去实验,会发现基于RS232还真可以完成多点的通信(需要在串口通信之上再定义通信协议)。所以,才有如上的争论。

没有人对RS485是否支持多点通信起疑义,因为RS485的定义明确说明其支持多点通信:wikepedia-RS485
TIA-485-A, also known as ANSI/TIA/EIA-485, TIA/EIA-485, EIA-485 or RS-485, is a standard defining the electrical characteristics of drivers and receivers for use in balanced digital multipoint systems. The standard is published by the Telecommunications Industry Association/Electronic Industries Alliance (TIA/EIA). Digital communications networks implementing the EIA-485 standard can be used effectively over long distances and in electrically noisy environments. Multiple receivers may be connected to such a network in a linear, multi-drop configuration.

那么,在工程应用中,是否可以使用RS232实现多点通信呢?
个人认为,慎用。原因如下:
1,这是未被定义的,风险很大。在正常环境下,基于RS232的多点通信也许完全正常,但是难保在恶劣环境下仍能正常工作。因为未被定义,RS232芯片很可能不会考虑挂接多个节点(负载)的情况。另外一点更严重:当你需要扩展系统,接入更多的节点时,RS232可能爆出许多问题。
2,你有更好的选择(RS485、CAN等),这些都是成熟的技术,干嘛非抱着RS232不放呢?

可能还有人会对如何用RS232实现多点通信感兴趣。方法是,定义上层的通信协议,给每个节点分配一个节点地址。可参考MODBUS-RTU通信协议,MODBUS-RTU基于串行通信定义,串口通信的物理层可以是RS232、RS485等。

RS232 RS485 通信结构相关推荐

  1. DSP RS232 RS485通信

    1.通信的基本概念 通信的方式可以分为多种,按照数据传送方式可分为串行通信和并行通信.按照通信的数据同步方式,可分为异同通信和同步通信.按照数据的传输方向又可分为单工.半双工和全双工通信.下面我们就来 ...

  2. 嵌入式--串口、RS232、RS485通信

    一.串口通信 1.UART指的是通用异步收发器,是一种通用的串行.异步通信总线该总线有两条数据线,一条接收一条发送,可以实现全双工的发送和接收,在嵌入式开发过程中比较常用.异步通信没有使用同一个时钟, ...

  3. RS485/RS232串口通信实现源码

    之前贴出了代码,但是本地源码已经找不到了:本篇补充了一些使用说明 一.参考代码 1.不方便下载的同学可以参考贴出来的源代码链接:RS485 2.工程链接:RS485 二.基本知识 1.RS485通信讲 ...

  4. 三菱的触摸屏usb驱动_资深工程师一步一步教你PLC与西门子触摸屏的RS485通信

    点击上方"蓝字"关注我们 今天为大家带来的是PLC与西门子触摸屏的RS485通信,RS-485又名TIA-485-A, ANSI/TIA/EIA-485或TIA/EIA-485.R ...

  5. fullcalendar 显示的时间间隔只有四十五分钟_NHR系列智能显示控制仪表RS485通信中应用...

    请点击上方蓝字关注我们! 01 摘要 NHR系列智能显示控制仪表是经过多年开发制造经验而设计生产,集诸多全新功能于一身的新一代智能显示控制仪表.针对现场温度.压力.液位.速度.流量等各种信号进行采集. ...

  6. STM32:RS485通信和Modbus通信协议汇总

    RS485通信和Modbus通信协议汇总 1. 主从模式 RS-485上的软件层协议ModBus主要依赖于主从模式.主从模式是指在半双工通讯方式上,2个或者2个以上的设备组成的通讯系统中: (1) 至 ...

  7. 干货分享:RS485通信和Modbus通信协议汇总

    https://zhuanlan.zhihu.com/p/24134130 在工业控制.电力通讯.智能仪表等领域,通常情况下是采用串口通信的方式进行数据交换.最初采用的方式是RS232接口,由于工业现 ...

  8. RS485通信和Modbus协议

    在工业控制.电力通讯.智能仪表等领域,通常情况下是采用串口通信的方式进行数据交换.最初采用的方式是 RS232 接口,由于工业现场比较复杂,各种电气设备会在环境中产生比较多的电磁干扰,会导致信号传输错 ...

  9. RS232 RS485 串口 电平标准

    RS-232 个人计算机上的通讯接口之一,由电子工业协会(Electronic Industries Association,EIA) 所制定的异步传输标准接口.通常 RS-232 接口以9个引脚 ( ...

最新文章

  1. C语言中连续调用rand函数,返回值不变
  2. 【ACM】杭电OJ 2034
  3. shell编程中crontab用法超级详解!
  4. ArcGIS实验教程——实验八:矢量数据拼接
  5. IntegerCache的妙用和陷阱
  6. 证书服务器web注册,无法通过 Web 注册请求证书 - Windows Server | Microsoft Docs
  7. VS2015 fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include “stdafx.h”
  8. Linux系统基础入门
  9. 基于Spark的电影推荐系统(推荐系统~3)
  10. QT txt读写—论坛体编辑器
  11. 解决uniapp调试过程中的请求跨域和环境配置
  12. java中国象棋兵吃棋规则_中国象棋吃子的规则
  13. usb相机的经验总结
  14. “回复TD即可退订” 是真的吗?
  15. 计算机图形学直线算法程序,计算机图形学直线生成算法实现.doc
  16. 十个模型,总结产品经理沟通方法论
  17. 基尔霍夫电流/电压定律
  18. iframe 自适应高度的多种实现方式
  19. Android按键音的默认值修改流程
  20. 密码计算机手机版,手机密码软件

热门文章

  1. 【调剂】3.20计算机考研其余调剂信息
  2. 记账本如何记录借款管理
  3. IT直男搞装修,他们会把房子折腾成啥样呢?
  4. java关闭ftp 连接_Java语言实现简单FTP软件------gt;连接管理模块的实现:主机与服务器之间的连接与关闭操作(八) - 移动编程 - ITeye博客...
  5. win10 批处理 使用浏览器打开多个网址
  6. 闭关宅家学点啥?第1弹:做个启动U盘吧
  7. 关于反向域名解析(Reverse DNS)
  8. 推荐一款高颜值的服务器探针——WGCLOUD
  9. linux删除多余日志,linux删除及设置日志
  10. 手把手教你写一个手势密码解锁View(GesturePasswordView)