你把你的鍵盤接到計(jì)算機(jī)上面去,你看下計(jì)算機(jī)是怎么初始化這個(gè)鍵盤的,估計(jì)是你只獲取了第一個(gè)HID類的報(bào)表描述符,并沒有獲取第二個(gè)設(shè)備的報(bào)表描述符導(dǎo)致第二個(gè)設(shè)備未進(jìn)行初始化。
我搞不懂z怎么在計(jì)算機(jī)上看它初始化 只獲取了第一個(gè)報(bào)表描述符而沒有獲取第二個(gè)報(bào)表描述符是什么意思 我的程序在上面 你看該在哪里加上獲取第二個(gè)描述符的程序 我在進(jìn)行set_report時(shí)數(shù)據(jù)階段操作沒有成功 返回的狀態(tài)值是0x2e 本來應(yīng)該返回0x14的 可以看出0x2e-0x21等于0x14 而程序中0x21好像也是個(gè)特殊值 我想這里是不是有些什么聯(lián)系 應(yīng)該把這個(gè)狀態(tài)值弄對(duì)了 就可以的了 但是這個(gè)我真不知道怎么做 麻煩幫忙分析指點(diǎn)一下 非常感謝??!
端點(diǎn)號(hào)我從1試到7都不行
用下面的程序測(cè)試一下 UploadImages/2010112415175294.rar
你好 謝謝你的回復(fù)
我用上面的程序測(cè)試過了 還有一個(gè)鍵盤可以但是另外那個(gè)仍然不行 這個(gè)程序只支持兩個(gè)接口的復(fù)合設(shè)備 如果那個(gè)不止有兩個(gè)接口呢? 我懷疑就是接口數(shù)量的問題 如果多余兩個(gè)接口的復(fù)合設(shè)備怎么測(cè)? 它一直在收到一串?dāng)?shù)據(jù) 前面一部分有數(shù)值 后面是0 然后一直循環(huán)
1.給你的代碼只支持2個(gè)接口的設(shè)備,如果超過2個(gè)接口,需要自己擴(kuò)展。但是超過2個(gè)接口的HID復(fù)合設(shè)備比較少。 2.有的鍵盤 在空閑的時(shí)候 會(huì)每隔一段時(shí)間上傳一包0字節(jié)的數(shù)據(jù)。 3.對(duì)于不支持的鍵盤,軟件上停在什么地方,或者返回什么錯(cuò)誤,請(qǐng)?zhí)峁┰敿?xì)信息。
你好
看了一下那個(gè)鍵盤的技術(shù)資料 應(yīng)該是2個(gè)接口的
隔斷時(shí)間上傳0的數(shù)據(jù)包這個(gè)情況倒是有點(diǎn)像 但它是一直在發(fā) 而且速度很快按鍵也挺不下來 收不到鍵值 應(yīng)該不是這個(gè)原因
不支持的那個(gè)鍵盤 軟件出錯(cuò)的地方是set_idle時(shí)狀態(tài)階段操作失敗 返回值為2e 獲取報(bào)表描述符也出錯(cuò)get_report_descr_ex set_report 也不成功 我一會(huì)兒下午的時(shí)候把返回值信息發(fā)出來 辦公室上網(wǎng)不便
現(xiàn)在可以獲取到鍵值了 那個(gè)鍵盤確實(shí)是空閑時(shí)一直在上傳0的數(shù)據(jù)包 而軟件跑到get_report_descr_ex 獲取報(bào)表描述符時(shí)就跑飛了 沒有執(zhí)行下面的程序 我把它屏蔽掉以后就可以收到鍵值了
謝謝樓上各位的解答 能收到鍵值就可以了 終于算是搞定了
獲取報(bào)表的時(shí)候程序跑飛了 可能是單片機(jī)的RAM溢出了?;蛘呤谴嫒?bào)表描述符的緩沖區(qū)dat_buf太小了