c# 下收發usb消息,usb通信程序,大概流程和這篇博客寫的差不多(https://www.cnblogs.com/xidongs/archive/2011/11/28/2266100.html)。
這個github上的庫也很好,個人覺得用庫更方便,地址(https://github.com/mikeobrien/HidLibrary)這個庫的支持只要framework即可。
下面是碰到的坑:
1 .兩者底層都是調用setupapi.dll,hid.dll等,個人遇到個坑就是 HidHandle = CreateFile(
DeviceName,
GENERIC_READ,// | GENERIC_WRITE,//讀寫,或者一起
FILE_SHARE_READ,// | FILE_SHARE_WRITE,//共享讀寫,或者一起
0,
OPEN_EXISTING,
0,
0);
創建時沒有共享,結果幾個usb讀寫時出現衝突。
2.
這個打開usb時outlength爲0,usb收不到消息
https://blog.csdn.net/yanhuatangtang/article/details/80703010
設備在我的電腦上outputReportLength讀取到的值爲64,在win10電腦上讀取的爲0.無法發送數據到設備,什麼原因呢
因爲設備管理器中同一個PID vid的設備有多個,但是並不是所有的都支持out傳輸,到outlength爲0時,應該繼續查找其他設備,還有這個坑。