【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一方。