鍵盤空閑的時候NAK包之間會夾雜上圖的包,但是鍵盤并沒有任何操作,請問這種情況是什么問題?
您好,您測試電腦上有BUS HOUND或者其他能夠抓USB包的上位機(jī)嗎,可以檢查一下測試鍵盤在空閑時是否會在上傳全按鍵釋放包。USB有嚴(yán)格的包格式,底層會校驗(yàn)數(shù)據(jù)包的同步序列、包標(biāo)識符、CRC和包結(jié)尾,不會憑空產(chǎn)生數(shù)據(jù)包。
您好,以下是我的鍵盤的BUS抓包,里面沒有異常的全鍵位釋放包上傳:
然后我在程序里打印了傳輸事務(wù)標(biāo)志S,
這是打印結(jié)果,里面是會夾雜一個全鍵位釋放包。但是我的鍵盤并沒有任何操作。
這個是我使用的583例程:583EVT\EXAM\USB\Host\HostU2Enum
某些鍵盤能夠復(fù)現(xiàn)上述問題,另外一些鍵盤沒有復(fù)現(xiàn)。通過抓包發(fā)現(xiàn)能夠復(fù)現(xiàn)問題的情況下,鍵盤有兩組報表描述符,而我們例程里是只獲取了設(shè)備和配置描述符。建議增加報表描述符的解析,并增加SET_REPORT的控制傳輸。
鍵盤連接電腦的枚舉過程:
鍵盤連接主機(jī)MCU的枚舉過程:
好的,非常感謝您的回復(fù)!