使用CH558模拟HID设备,程序已经调通,连接计算机USB2.0接口上能正常使用(枚举、收发数据均正常),但连接计算机USB3.0接口则枚举不成功,反复试验均是如此,为何?
热门产品 :
CH32X035: 32位USB+USB PD单片机
使用CH558模拟HID设备,程序已经调通,连接计算机USB2.0接口上能正常使用(枚举、收发数据均正常),但连接计算机USB3.0接口则枚举不成功,反复试验均是如此,为何?
看下其他有线键盘和鼠标在这个USB3.0口上能否正常使用?如果可以用的话,可能是程序上的BUG,否则的话,应该是U口本身兼容性问题。
鼠标和键盘在USB2.0和USB3.0上可以使用,但CH558模拟HID能在USB2.0上使用,在USB3.0上则不能枚举。
是同一台电脑?还是不同的电脑?你可以在PC上装一个BUSHOUND,监控下USB枚举的数据,看看枚举失败的原因。
发现问题所在了,如果在配置描述符里定义3个端点就不能正常枚举,如果只定义2个端点就能正常枚举,难道被识别了低速设备了?但在USB2.0上定义3个端点却能正常使用啊。
问题解决了,是配置描述符的长度设置与实际描述符长度不一致而造成的,USB2.0可能对此检查不严格所以也能正常枚举,改过来了后无论是在USB2.0还是USB3.0上都能正常使用了,感谢各位。