使用libmodbus读传感器流程

本文介绍了如何利用libmodbus库读取温湿度传感器的数据。详细阐述了libmodbus的功能,Modbus RTU协议以及通过modbus_read_registers()函数读取远程设备的持保留寄存器内容的步骤。
摘要由CSDN通过智能技术生成

【1.项目描述】

手上有一个温湿度传感器,基于modbus RTU协议,采用RS485串口和Tiny6410通信,把采集到的温湿度显示在Tiny6410的界面程序上。这里简要给出使用libmodbus第三方工具读取温湿度的程序流程。关于libmodbus在嵌入式LINUX上的使用方法,参考上一篇博客:http://blog.chinaunix.net/uid-11829250-id-5750595.html

【2.关于libmodbus】

libmodbus是一个免费开源的第三方modbus协议库,可工作在多种平台下。libmodbus支持RTU方式和TCP/IP方式。这里传感器使用的是modbus RTU方式。在modbus RTU方式中,对client/master和server/slave的是这样定义的:
The Modbus RTU framing calls a slave, a device/service which handle Modbus requests, and a master, a client which send requests. The communication is always initiated by the master.
从这个定义中可以看出,构造RTU数据帧,并且响应modbus请求的一方是server/slave,而发出请求的一方是client/master,并且双方通信总是由client/master一方发起。因此本项目中,温湿度传感器是server/slave一方,Tiny6410是client/master一方。

【3.温湿度传感器Modbus RTU协议】

查看温湿度传感器手册,采用RS485通信,采用串口参数为波特率9600,数据位8,停止位1,无校验位。若要读取温湿度数值,则Tiny6410要往温湿度传感器发送的请求
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值