Re: [問題]使用 win32 SDK/DDK 寫 USB HID 的一些問題
我目前寫這個東西也是遇到一些問題
一樣是寫USB通訊,透過WDK和Win API
以下是我試出來的經驗
write方面,必須使用SendReport才能送出(writefile會失敗)
read方面,必須使用ReadFile才能接收(用ReadReport會失敗)
我不知道為什麼??請問有人知道原因嗎?我看網路的範例,大部分都沒這樣做
以上都是固定每次傳送接收64Byte,第一個Byte放Report ID
雖然是可以通訊了,但是因為Firmware組希望每個不同的CMD通訊可以傳送
不同的長度,所以他們將所有的CMD都作成Report ID,並且規定長度都不同。
但是這樣我卻都收不到資料了。
//==========================
譬如 CMD 1 是開啟,該長度是3
2 開啟的回應,該長度是4
而CMD本身就是Report ID
我送出 : 1 3 X
我會期待接收到 : 2 4 X X
//==========================
但是我卻都無法收到,推測是跟長度有關,因為如果Frimware都改成每個CMD
固定長度64就沒問題。請問有方法每次傳輸都可以透過API去告知切換長度嗎?
我用HidP_GetCaps抓到也只知道最長CMD的in、out,即使我自己知道每個CMD
會接收多少Byte,指定給ReadFile,一樣是失敗。會是Driver不知道嗎?
但是Firmare組已經把Report Id的Report Count都設定長度了。
一直找不到資料,好像很少人會這樣伸縮長度,網路上查到的通常都是傳送的Device
那邊伸縮長度(指定Report 長度)的教學,但是接收這邊的AP一直查不到這些資料
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.66.251.14
※ clarkman:轉錄至看板 C_and_CPP 11/17 10:22
討論串 (同標題文章)
Programming 近期熱門文章
PTT數位生活區 即時熱門文章