完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>
扫一扫,分享给好友
1、为什么要使用驱动库?
上一篇文章,我们介绍了Modbus协议物理层和协议层,我们知道了Modbus是一种总线协议,它可以基于串口或网口,以基于串口的Modbus-RTU为例,我们需要在Windows或Linux下实现一个上位机,上位机的功能是读写Modbus接口传感器设备的数据,或者是和单片机等从设备进行交互。
当需要向某个从机寄存器写入某个值时,如向01地址的设备,0x0105保持寄存器写入1个数据:0x0190为例,那么需要构建这样一个数据帧:
主机发送:01 06 01 05 01 90 99 CB
01表示从机地址,06功能码表示写单个保持寄存器,0105表示寄存器地址,0190表示写入寄存器的数值,99 CB为CRC校验值。
如果从机正确的收到了数据,会回复一个数据帧:
从机回复:01 06 01 05 01 90 99 CB
所以作为主机,写数据的流程是:
构建一个Modbus-RTU数据帧
等待从机响应的数据
如果响应数据正确,说明写入成功,否则写入失败。
读数据也是同样的流程,我们可以基于串口发送、串口接收函数、定时器等,自己写一个Modbus驱动库,来实现对从设备的读写。当然,也可以直接使用别人写好的Modbus驱动库,比如libmodbus,本文将介绍如何使用libmodbus驱动库,Windows/Linux/ARM平台实现Modbus主机和从机。
原作者: wcc149
Modbus驱动库—libmodbus的使用.pdf
713.56 KB , 下载次数: 9
举报
发布
飞凌嵌入式-ELFBOARD ADC基础知识分享
939 浏览0 评论
hc32f460串口仅能接收到一个数据
1336 浏览1 评论
如何配置Linux操作系统设备树让我的开发板可以将板子上的GPIO接口用作 I2S输出??
2103 浏览1 评论
EmbeddedButton,嵌入式按键处理框架
1585 浏览0 评论
迅为RK3568核心板桥梁监测设备接口应用
2103 浏览0 评论
德赢Vwin官网 网
德赢Vwin官网 论坛
查看 »
小黑屋|手机版|Archiver|德赢Vwin官网(湘ICP备2023018690号)
GMT+8, 2024-8-24 08:09, Processed in 0.602991 second(s), Total 70, Slave 53 queries .
Powered by德赢Vwin官网 网
© 2015bbs.elecfans.com