libmodbus开发库介绍

功能概要

libmodbus是一个免费的跨平台支持RTU和TCP的Modbus库,遵循LGPL V2.1+协议。libmodbus支持Linux、Mac Os X、FreeBSD、QNX和Windows等操作系统。libmodbus可以向符合Modbus协议的设备发送和接收数据,并支持通过串口或者TCP网络进行连接。作为一个开源项目,libmodbus库还处于开发测试阶段,代码量还不十分庞大,文档和注释也不够全面,通过对libmodbus源代码的阅读过程,一方面可以进一步理解Modbus协议,同时也可以学习一个好的开源项目的代码组织及开发过程。

源码获取

https://github.com/stephane/libmodbus/tags

在这里插入图片描述

源码内容结构

在这里插入图片描述

① doc目录: libmodbus库的各API接口说明文档。

② m4目录: 存放GNU m4文件,在这里对理解代码没有意义,可忽略。

③ src目录: 全部libmodbus源文件。

④ tests目录: 包含自带的测试代码 其他文件对理解源代码关系不大,可以暂时忽略

进一步展开src代码目录,如图所示:

在这里插入图片描述

各文件作用如下:

① win32: 定义在Windows下使用Visual Studio编译时的项目文件和工程文件以及相关配

置选项等。其中,modbus-9.sln默认使用Visual Studio 2008。

② Makefile.am: Makefile.am是Linux下AutoTool编译时读取相关编译参数的配置文件,

用于生成Makefile文件,因为用于Linux下开发,所以在这里暂时忽略

③ modbus.c: 核心文件,实现Modbus协议层,定义共通的Modbus消息发送和接收函数各功

能码对应的函数。

modbus.h: libmodbus对外暴露的接口API头文件。

④ modbus-data.c: 数据处理的共通函数,包括大小端相关的字节、位交换等函数

⑤ modbus-private.h: libmodbus内部使用的数据结构和函数定义。

⑥ modbus-rtu.c: 通信层实现,RTU模式相关的函数定义,主要是串口的设置、连接及消

息的发送和接收等。

modbus-rtu.h: RTU模式对外提供的各API定义

modbus-rtu-private.h: RTU模式的私有定义。

⑦ modbus-tcp.c: 通信层实现,TCP模式下相关的函数定义,主要包括TCP/IP网络的设置

连接、消息的发送和接收等。

modbus-tcp.h: 定义TCP模式对外提供的各API定义

modbus-tcp-private.h: TCP模式的私有定义。

⑧ modbus-version.h.in: 版本定义文件。

源码与移植

在这里插入图片描述

后续会将这个库移植到单片机上,在单片机进行使用,这个等我移植成功了之后在进行分享。

本文完,感谢阅读,感谢关注!

  • 18
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

独处东汉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值