使用CH583EVT的USB主机例程的问题

1697784747172392.png

1697784747105378.png

键盘空闲的时候NAK包之间会夹杂上图的包,但是键盘并没有任何操作,请问这种情况是什么问题?

您好,您测试电脑上有BUS HOUND或者其他能够抓USB包的上位机吗,可以检查一下测试键盘在空闲时是否会在上传全按键释放包。USB有严格的包格式,底层会校验数据包的同步序列、包标识符、CRC和包结尾,不会凭空产生数据包。


您好,以下是我的键盘的BUS抓包,里面没有异常的全键位释放包上传:

BUS HOUND.png


然后我在程序里打印了传输事务标志S,

2.png

这是打印结果,里面是会夹杂一个全键位释放包。但是我的键盘并没有任何操作。

s.png

这个是我使用的583例程:583EVT\EXAM\USB\Host\HostU2Enum例程2.png



某些键盘能够复现上述问题,另外一些键盘没有复现。通过抓包发现能够复现问题的情况下,键盘有两组报表描述符,而我们例程里是只获取了设备和配置描述符。建议增加报表描述符的解析,并增加SET_REPORT的控制传输。

键盘连接电脑的枚举过程:

image.png

键盘连接主机MCU的枚举过程:image.png


好的,非常感谢您的回复!


只有登录才能回复,可以选择微信账号登录