libmodbus的移植
来源:互联网 发布:交易平台php源码 编辑:程序博客网 时间:2024/06/12 18:26
/**************************************************/
author: fulinux
e-mail: fulinux@sina.com
csdn blog: http://blog.csdn.net/fulinus
/**************************************************/
libmodbus的移植的过程中,要注意几点:
第一,在交叉编译器是最好加上--prefix参数,叫相关的库直接集中起来,方便拷贝到开发板相应的目录中去;
嵌入式开发板:./configure --build=i686 --host=arm-none-linux-gnueabi --enable-static --prefix=/root/libmodbus-3.1.1/install/ && make install
PC上运行 :./configure && make install
第二,如果在嵌入式开发板上运行类似unit-test-xxx测试程序时,首先要测试tcp的就要修改两个文件中的IP地址,默认是回环测试的,其次要测试rtu的就要修改两个文件中的串口设备文件名,嵌入式开发板上一般是ttySx,具体是哪个就看自己的板子了,可以一个个测试,PC上一般是ttyUSB0(如果是虚拟机的话,确保串口是在虚拟机中,而不是主机中);
unit-test-server.c
if (use_backend == TCP) { ctx = modbus_new_tcp("192.168.169.209", 1502); query = malloc(MODBUS_TCP_MAX_ADU_LENGTH); } else if (use_backend == TCP_PI) { ctx = modbus_new_tcp_pi("::0", "1502"); query = malloc(MODBUS_TCP_MAX_ADU_LENGTH); } else { ctx = modbus_new_rtu("/dev/ttyS1", 115200, 'N', 8, 1); modbus_set_slave(ctx, SERVER_ID); query = malloc(MODBUS_RTU_MAX_ADU_LENGTH); }
unit-test-client.c
if (use_backend == TCP) { ctx = modbus_new_tcp("192.168.169.209", 1502); } else if (use_backend == TCP_PI) { ctx = modbus_new_tcp_pi("::1", "1502"); } else { ctx = modbus_new_rtu("/dev/ttyUSB0", 115200, 'N', 8, 1); }
第三,在test目录下的类似unit-test-server这个不是可执行文件,而是一个脚本,他会调用test目录下的.lib/下的unit-test-server可执行文件。在PC中需要执行对应的脚本文件,而在嵌入式平台上却是执行可执行文件;下面是rtu的测试结果:
嵌入式平台:
PC上面:
- libmodbus的移植
- linux libmodbus的移植
- 嵌入式学习之libmodbus的移植
- 【modbus】libmodbus库的移植与使用
- libmodbus遇到的问题
- 一个modbus协议库移植——libmodbus-master
- VS + Libmodbus + QT 环境搭建遇到的几个新手问题
- Visual Studio编译libmodbus
- libmodbus 手册翻译
- VS2015 使用 libmodbus
- libmodbus 3.1.4源码分析
- libmodbus实现modbus poll功能
- 使用libmodbus读传感器流程
- ubuntu下Qt配置qwt和libmodbus
- 数据库的移植-同种数据库的移植
- FL2440内核移植---亲自移植的
- 移植2- 移植uboot的spl代码
- 系统移植---移植涉及的工作
- apache整合tomcat
- Table Compression
- poj 1753/2965 bfs+位运算(关灯游戏/开冰箱门)
- Jenkins进阶系列之——17Jenkins升级、迁移和备份
- 在做黑马程序员中第10题出错啦,大家帮忙看看
- libmodbus的移植
- 解析 XML - 跨浏览器实现
- Sort Colors
- Training--保存数据(1)-- 保存键值对集合
- 排序算法--快速排序
- C程序设计语言笔记
- Jenkins进阶系列之——18Jenkins语言本地化
- HDU 1678 Shopaholic(排序)
- Editplus下设置json格式化