键盘空闲的时候NAK包之间会夹杂上图的包,但是键盘并没有任何操作,请问这种情况是什么问题?
热门产品 :
CH32X035: 32位USB+USB PD单片机
键盘空闲的时候NAK包之间会夹杂上图的包,但是键盘并没有任何操作,请问这种情况是什么问题?
您好,您测试电脑上有BUS HOUND或者其他能够抓USB包的上位机吗,可以检查一下测试键盘在空闲时是否会在上传全按键释放包。USB有严格的包格式,底层会校验数据包的同步序列、包标识符、CRC和包结尾,不会凭空产生数据包。
您好,以下是我的键盘的BUS抓包,里面没有异常的全键位释放包上传:
然后我在程序里打印了传输事务标志S,
这是打印结果,里面是会夹杂一个全键位释放包。但是我的键盘并没有任何操作。
这个是我使用的583例程:583EVT\EXAM\USB\Host\HostU2Enum
某些键盘能够复现上述问题,另外一些键盘没有复现。通过抓包发现能够复现问题的情况下,键盘有两组报表描述符,而我们例程里是只获取了设备和配置描述符。建议增加报表描述符的解析,并增加SET_REPORT的控制传输。
键盘连接电脑的枚举过程:
键盘连接主机MCU的枚举过程:
好的,非常感谢您的回复!