QT 如何寫USB通信



接到任務要求通過USB連接的設備進行通信,從而控制硬件設備,遺憾的是自己之前沒有搞過軟硬結合的東東。頭一次搞這樣的東西,我們先來了解一下當USB設備插入電腦後,在電腦裏能顯示出來該設備的VID、PID及端口號,如果端口號沒有也可以用NULL代替。如圖


然後去下載DLL,地址http://download.csdn.net/detail/yuanchunze/7009269

先建一個QT程序,添加已經下載的HidApi.h的頭文件的引用

同時在需要調用該API的地方添加

#pragma comment(lib, "hidapi.lib")

這樣我們就可以調用API了

首先我們要打開這個設備

handle = hid_open(0x2033, 0x3331, L"485323323232434232");

當handle大於零則與該設備成功通信。

然後我們讀取當前設備的狀態

res = hid_read(handle, outbuf, sizeof(outbuf));

注意每個設備的頭字節都不一樣,因爲不同的芯片有不同的控制,所以一定要獲得,寫入和讀取狀態的頭字節

outbuf[0]=0x39;
outbuf[1]=0x0C;

你看第一個字節就是與設備屁匹配到,當首字節爲0x39則可以和系統通信,第二個則是字節長度

而寫命令則是hid_write方法。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章