一、下載libmodbus 庫
在libmodbus 官網下載最新的libmodbus 庫:
https://libmodbus.org/download/
- 編譯
- 解壓壓縮包
tar -xvzf libmodbus-3.1.6.tar.gz
2. 進入解壓後的libmodbus-3.1.6 目錄,然後創建安裝目錄
cd libmodbus-3.1.6
mkdir _install
3.編譯
./configure --build=i686 --host=arm-hisiv500-linux- --prefix=/home/xiaogang.lu/work_space/libmodbus/libmodbus-3.1.6/__install
或
./configure --build=i686 --host=arm CC=arm-hisiv500-linux- --prefix=/home/xiaogang.lu/work_space/libmodbus/libmodbus-3.1.6/__install
make
make install
- 安裝
將編譯好的安裝包,安裝到編譯服務器上邊設置好環境變量。
1)將_install 下的文件拷貝到/opt/hisi-linux 建立libmodbus 目錄,然後修改lib/pkgconfig/libmodbus.pc 文件。
2)Prefix 路徑一定要對應,libmodbus 名字要記住,後面makefile 調用時要與這個名字一樣。
3)修改環境變量:
vi /etc/profile
4)生效環境變量:
source /etc/profile
查看:export
- 測試
1)在代碼中調用引用libmodbus 庫,修改makefile
添加測試代碼到工程,或者單獨自己編譯應用程序。這裏我是添加到工程裏面的,將test_modbus.c 添加進去。
編譯,然後nfs mount ,執行可執行程序。
2)配置modbus slave
注意:波特率,Slave ID 要一一對應。打開的串口設備UART1 /dev/ttyAMA1 一定要有。還有必須保證485硬件串口通信已接通。
3)測試結果:
可以看到對應的在測試程序中可以收到modbus 發過來的寄存器數值。
歡迎關注,交流更多嵌入式Linux ,開源開發。