接到任務要求通過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方法。