UART、Modbus、RS485关系

liuxuefei1212 liuxuefei1212 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
UART和RS485的关系: 通讯问题,和交通是一样的。串口通信,我们这里可以用公交来类比。 “公交运行”这个事可以简单分成两个部分:1、车站;2、公路。 其中车站决定了车上装什么(人),怎么发送(班次)等。 当汽车跑在路上,就要遵守公路交通的规则,过桥有过桥的规则,高速有高速的规则,和车站没有关系了。 回到串口通讯,其实,UART就相当于车站,而RS485则对应于公路的规则。 从某种意义上,可以说,线路上存在的仅仅是电流,RS485规定了这些电流在什么样的线路上流动和流动的样式;在UART那里,电流才被解释和组装成数据,并变成CPU可直接读写的形式。 UART可以这样理解:每个SOC芯片,内部都会有UART控制器,也就是上面的“车站”。但是通常说的UART指的是,一种串行通信协议。规定了数据帧格式,波特率等。 RS485:是规定了数据通信的电气特性。是物理层的概念,对应的物理器件有RS485驱动芯片,将CPU经过UART传送过来的电压信号驱动成RS485电平逻辑。 UART,是通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),既然是“器”,显然,它就是个设备而已,要完成一个特定的功能的硬件,它本身并不是协议。那么它要完成什么功能呢?它的最基本功能,是串行数据和并行数据之间的转换。 协议分为硬件协议和软件协议。 而通讯协议属于软件协议,它包含报头包围的格式,MODBUS是应用层的通讯协议,主要用于传送和接收文件包的格式。而RS232,RS485是物理层的串行接口,它可以支持几十种通讯协议,MODBUS只是其中的一种。 例,一个人从香港去澳门,从香港去澳门可以走水路,水路是RS485。交通工具船和可以分别看成应用层的MODBUSRTU. Modbus是一种协议,必须要有硬件为实现平台,而不同的硬件平台具有不同的电气特性和连接方式,比如RS232,RS485;可以把Modbus比作英语,RS232比作印度人,RS485比作美国人,印度人之间讲英语时,理解为基于RS232的modbus通信,美国人之间讲英语时,理解为基于RS485的modbus通信。 总结:modbus是一个应用层的协议,他是构建在串口,网线等底层传输基础上的。uart只是串口协议而已。 一句话:3个的对象不一样。都是协议,就是一种规则。但是三个只所以有关系,是因为都应在数据传输。 看看他们的历史就明白了。
...全文

相关推荐

RS485通信与MODBUS协议[源码]

本文详细介绍了RS485串行通信标准及其在工业控制中的应用,包括RS485的基本原理、HAL库驱动配置、通信电路设计以及MODBUS协议的实现。RS485作为一种差分信号传输标准,具有抗干扰能力强、传输距离远等优点,适用于工业环境中的多点通信。文章还提供了基于STM32的RS485配置步骤和编程实战代码,帮助读者快速掌握RS485通信的实现方法。此外,文中还对比了串口、UART、TTL、RS232、RS422和RS485之间的关系,并详细解析了MODBUS协议的结构和应用场景。

dell8

手把手教你学51单片机之十八RS485通信与Modbus协议.doc

手把手教你学51单片机之十八RS485通信与Modbus协议.doc

louis7617

STM32 Modbus精简实现[项目源码]

本文详细介绍了基于STM32的Modbus RTU从站精简版程序实现,包含标准库和HAL库两种版本。程序支持03(读保持寄存器)和06(写单个寄存器)功能码,提供了完整的初始化配置、CRC16校验、帧处理及响应发送功能。文章还包含Modbus测试工具使用方法(Modbus Poll和Python脚本)以及常见问题解决方案(如通信不稳定、CRC错误等)。最后给出了扩展功能建议,如添加更多功能码和异常处理机制。该实现代码精简,易于理解和移植,可直接在STM32F103等系列芯片上运行。

rock5

STM32 UID实现RS485地址自动分配[项目源码]

本文介绍了一种基于STM32芯片唯一标识符(UID)的RS485从机地址自动分配方案,旨在解决传统拨码开关设置方式效率低、易出错和成本高的问题。方案利用STM32内置的96位唯一ID作为随机种子,通过四阶段竞争机制实现地址自动分配,具有零配置部署、冲突概率低和完全兼容现有协议等优势。详细阐述了UID的硬件特性与数据处理方法,以及四阶段竞争协议的设计与实现,包括主机端状态机和从机端竞争算法的关键代码。此外,还提供了系统集成与性能优化的策略,如时序优化和抗冲突机制增强,并通过实际部署测试数据验证了方案的有效性。最后,给出了完整代码框架与移植指南,便于在不同STM32平台上实现。

cc789

STM32F103单片机基于RS485总线的MODBUS通讯例程,原创代码

基于STM32F103单片机开发,采用RS485总线的MODBUSRTU通讯例程,接受和发送使能控制。带CRC校验计算函数。纯原创。

feihongjingxue
评论
收藏 已收藏
分享
返回顶部
liuxuefei1212
通信技术 4,397 成员 28,909 内容