嵌入式linux串口可以收发数据后,需要用到modbus协议去读取下位机的数据,这篇文章记录modbus实际项目应用—libmodbus驱动库的使用
libmodbus简介
libmodbus,是一个基于C语言实现的Modbus驱动库,作者是Stephane,支持Linux, Mac OS X, FreeBSD, QNX and Win32操作系统,主要应用在PC上,用来开发上位机,也可以对源代码进行交叉编译,以适配更多的平台,比如ARM Linux。源代码开源,遵循 LGPL-2.1 许可。目前最新版本是3.1.6,Github仓库最新提交时间是2021年5月21日。
官方网站:www.libmodbus.org
开源地址:github.com/stephane/libmodbus
libmodbus支持如下功能:
- 支持Modbus-RTU和Modbus-TCP
- 支持常用功能码,如01/02/03/04/05/06/07/0F/10/11/16/17
- 支持线圈类型读写、寄存器读写、离散量读取等
- 支持广播地址0,从机地址1-247
- 支持浮点数和整形数据转换,大端小端等多种模式
- 参数根据
Modbus_Application_Protocol_V1_1b.pdf官方标准文档设计,比如最大读写线圈个数,最大读写寄存器个数等。 - 源代码基于C编写,方便在各平台移植,只有11个文件。
