VS2015下调用libmodbus库

1.准备好modbus slave和虚拟串口软件,在虚拟串口软件里面将COM3和COM4配置在一起。

2.打开VS2015,建立一个win32的控制台程序工程,选择空项目。

3.将libmodbus库里面的文件拷贝到工程路径下,包括

modbus.dll
modbus.h
modbus.lib
modbus-rtu.h
modbus-tcp.h
modbus-version.h

4.将modbus.lib和modbus.h放在资源管理器下的资源文件里面

5.新建一个cpp文件,编写程序

(1)在调用头文件过程中,有

#include <stdio.h>//标准C输入输出库
#ifndef  _MSC_VER//VS版本号
#include <unistd.h>//unix系统移植头文件
#endif 
#include <string.h>//字符串头文件
#include <stdlib.h>//C标准库头文件
#include <errno.h>//抓error头文件

#include "modbus.h"//调用libmodbus库

(2)其余有宏定义

#define LOOP 1 //循环次数 
#define server_ID 17//从端设备地址
#define address_Start 0//测试寄存器起始地址
#define address_End 99//测试寄存器终止地址

(3)对于主函数内容,变量定义有

int main()
{
    modbus_t  *ctx;//定义一个结构体指针
}

对于libmodbus,核心结构体有两个,一个是_modbus(即modbus_t)和modbus_mapping_t。modbus_t结构体定义在modbus_private.h中,内容有

struct _modbus 
{
    /* Slave address */
    int slave; //从站设备地址
    /* Socket or file descriptor */
    int s;//TCP模式下为Socket套接字;RTU下为串口句柄
    int debug;//是否启用debug模式
    int error_recovery;//错误恢复模式
    struct timeval response_timeout;//响应超时设置
    struct timeval byte_timeout;//字节超时设置
    struct timeval indication_timeout;
    //包括一系列共通函数指针
    const modbus_backend_t *backend;
    //上面共通之外的数据
    void *backend_data;
};

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值