做的项目需要和stm32进行串口通信,随选用Modbus_RTU协议。以下为wukunpi安装libmodbus库的步骤。
下载源码
可以直接下载附件
*附件:libmodbus-master.zip
或git clone https://github.com/stephane/libmodbus.git
安装
1、进入源码目录
2、运行:./autogen.sh,此时可能会报一下错误。
![image.png](//file1.elecfans.com/web2/M00/AB/E0/wKgZomU3-l2AZSiyAAEVzMa0pXk407.png)
3、安装缺少的库:apt-get install libtool
![image.png](//file1.elecfans.com/web2/M00/AA/21/wKgaomU3-sOAGNSjAANskRbMaqw706.png)
4、再次执行./autogen.sh,安装成功
![image.png](//file1.elecfans.com/web2/M00/AA/21/wKgaomU3-dqAUfKbAAJcHQpG8Po879.png)
5、在libmodbus文件夹里新建一个install文件夹用来存放编译生成的相关文件。
![image.png](//file1.elecfans.com/web2/M00/AA/21/wKgaomU3-0CAEV2hAADr-nBLKMI462.png)
6、运行:./configure --prefix=/root/libmodbus-master/install/
![image.png](//file1.elecfans.com/web2/M00/AB/E0/wKgZomU3-66AWTsmAAQaNzuKbCk376.png)
![image.png](//file1.elecfans.com/web2/M00/AB/E0/wKgZomU3-8OAa4gLAAMDpuvRaKg865.png)
7、make
![image.png](//file1.elecfans.com/web2/M00/AA/22/wKgaomU3_C6AJqJdAAKZsGO1ijA071.png)
8、make install
![image.png](//file1.elecfans.com/web2/M00/AB/E0/wKgZomU3_GGAGyUEAAGGlS0bGho318.png)
编译成功后,在刚刚创建的install文件夹下,会输出include头文件以及lib库文件
![image.png](//file1.elecfans.com/web2/M00/AA/22/wKgaomU3_OSAKQfsAAAVoY7rIJE066.png)
9、将lib下的3个动态库libmodbus.so.x.x,拷贝到项目所在环境的/usr/lib目录
sudo cp -r lib/libmodbus.so* /usr/lib
![image.png](//file1.elecfans.com/web2/M00/AB/E0/wKgZomU3_aCAWowyAAAW1c1c8Xw783.png)
10、安装完成后测试一下:
在tests目录下运行两个程序:./unit-test-client ./unit-test-server
![image.png](//file1.elecfans.com/web2/M00/AB/E0/wKgZomU4AnmAVMwyAAC1Qo5G1Ls192.png)
11、使用:在项目makefile文件中 -L./lib -lmodbus 在调用函数的c文件中引入.h文件
libmodbus-test
|