tar -zxvf libmodbus-3.0.6.tar.gz
進入libmodbus-3.0.6
目錄:
cd libmodbus-3.0.6
配置:./configure
編譯與安裝:
make && make install
demo:
modbus_t *mb;
uint16_t tab_reg[32]
; mb =
modbus_new_tcp
("127.0.0.1"
,1502);
modbus_connect
(mb)
;/* read 5 registers from the address 0 */
modbus_read_registers
(mb,0,
5, tab_reg)
;modbus_close
(mb)
;modbus_free
(mb)
;
測試modbus-tcp協議通訊,**裡使用本地回環位址,埠1502:
進入tests目錄開啟乙個終端,啟動server程式:
./unit-test-server tcp
在目錄開啟另乙個終端,啟動client程式:
./unit-test-client tcp
啟動會列印出很多資訊。
而自己使用也需要精簡例子**,並按實際需要更改ip和埠:
在libmodbus-3.0.6
目錄下新建乙個mytest目錄。
mkdir mytest
將所需標頭檔案拷入,標頭檔案均位於目錄src
中:
cp modbus.h modbus-rtu.h modbus-tcp.h ../mytest
進入該目錄:
cd mytest
建立自己**main.c
如下:
#include
#include
#include
#include
#include
#include
#include
const uint16_t ut_input_registers_address =
0x1;
const uint16_t ut_bits_address =
0x04
;const uint16_t ut_input_registers_nb =
0xa;
const uint16_t ut_input_registers_tab=
;int
main
(int argc,
char
const
*argv)
if(modbus_connect
(ctx)==-
1)while(1
) rc =
modbus_read_bits
(ctx, ut_bits_address,
1, tab_rp_bits)
;printf
("modbus_read_bits 1 \n modbus_read_bits: \n");
if(rc !=1)
printf
("tab_rp_bits [0] is %d\n"
,tab_rp_bits[0]
);memset
(tab_rp_bits,
0, nb *
sizeof
(uint8_t));
sleep(1
);rc =
modbus_write_bit
(ctx, ut_bits_address,0)
;if(rc !=1)
rc =
modbus_read_bits
(ctx, ut_bits_address,
1, tab_rp_bits)
;printf
("modbus_read_bits 0 \n modbus_read_bits: \n");
if(rc !=1)
printf
("tab_rp_bits [0] is %d\n"
,tab_rp_bits[0]
);sleep(1
);}modbus_close
(ctx)
;modbus_free
(ctx)
;return0;
}
ip192.168.1.120
埠502
編譯:
cc -o main main.c -lmodbus -i ./
執行:
./main
ubuntu下Eclipse下新增GBK編碼
把windows下的工程匯入到了linux下eclipse中,由於以前的工程 都是gbk編碼的 windows下的eclipse 缺省會去讀取系統的編碼,所以widnwos下的eclipse的編碼為gbk 而ubuntu預設是不支援gbk編碼的。所以,首先我們要先讓 ubuntu支援gbk,方法如下...
ubuntu下源配置
更新源,更新系統 編輯源 sudo gedit etc apt sources.list 配置乙個源足矣,越多越麻煩。系統似乎不會自動識別速度最快的源,源越多隻會導致update和upgrade的速度減慢。中國科學技術大學更新伺服器 教育網,推薦校園網和網通使用者使用 電信cn99的源 推薦電信使用...
UBUNTU下軟體安裝
先簡單說介紹一下ubuntu。ubuntu的中文發音大約為 烏班圖。ubuntu這個單詞源自非洲,意謂 班圖精神 誰都不是一座孤島,自成一體。每個人都包孕於人類,因他人存在而存在,因他人幸福而幸福。下面介紹下在ubuntu下如何裝軟體。linux系統中,軟體通常以源 或者預編譯包的形式提供。1 軟體...