工业总线modbus协议怎么玩

本文不深入讲解Modbus协议细节,而是重点介绍如何利用开源库libmodbus搭建自己的通信协议。libmodbus在GitHub上维护良好,通过交叉编译生成动态或静态库。文中提供了一个简单的步骤概述:1) 使用modbus_new_rtu配置485接口;2) 设定主机地址modbus_set_slave;3) 连接串口设备modbus_connect;4) 读取数据modbus_read_registers;5) 最后使用modbus_free释放资源。开启modbus_set_debug可查看通信过程。
摘要由CSDN通过智能技术生成

工业总线协议都是比较简单的,其实不管什么协议都不难,只要你愿意仔仔细细的看看协议的标准.这里具体协议我就不讲了,主要介绍一下通过libmodbus来搭建自己的通信协议,libmodbus是github上一个开源的modbus实现,维护的比较好,项目地址如下https://github.com/stephane/libmodbus;拿到源码之后编译如下:

./autogen.sh
./configure --host=arm-linux-gnueabihf --prefix=/home/luckyxiang/Workspace/github/libmodbus/build
make
make install

我这里是交叉编译,通过–host指定编译工具链,然后–prefix指定安装目录,这样编译出来是动态so库,如果需要静态编译,去修改src目录下的Makefile文件,加上-static选项,’CFLAGS = -g -O2 -static’

放一段demo代码,

int modbus_data_get(void)
{
    modbus_t *ctx = NULL;
    int ret = -1;
    uint16_t tab_rp_bits[DATA_FRAME];
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值