CH573 USB HOST HID 设备端 枚举起来后 就提示dev_out dev_in 重复枚举

CH573 USB HOST HID 使用的是EVT里面USB HOST Enum里的demo
1.设备端 枚举起来后 就提示dev_out dev_in 重复枚举,隔两三秒就重新枚举了,我这边测了电源是没有问题的,单独用USB供电了,而且如果接有线键盘的话,枚举起来后,不按按键就不会提示重新枚举,会是什么问题呢?
2.有一个带电池的产品的USB HID接入后,提示GetDevDescr: InitRootDev Err = 2E,这个2E代码表示什么意思呢?连接电脑都是正常的


1635491624245919.png

1635491624127707.png

有没有HID自定义端点读写操作的demo代码呢?

看第一个打印截图,是获取描述符失败,这个跟设备复位时间有关系,可以调一下枚举函数最开始的设备复位时间。

#define ERR_USB_TRANSFER    0x20    /* NAK/STALL等更多错误码在0x20~0x2F */

image.png

后面这个枚举到ready,但是应该还有类命令需要处理,所以一旦发IN包,设备可能就直接复位,所以会重新枚举。


看第一个打印截图,是获取描述符失败,这个跟设备复位时间有关系,可以调一下枚举函数最开始的设备复位时间。

#define ERR_USB_TRANSFER    0x20    /* NAK/STALL等更多错误码在0x20~0x2F */

image.png

后面这个枚举到ready,但是应该还有类命令需要处理,所以一旦发IN包,设备可能就直接复位,所以会重新枚举。


可以弄个USB分析仪,对USB枚举进行抓包,然后看看具体的问题点
/downloads/USB11Monitor_ZIP.html


#3
你好,ready之后,还需要做什么操作呢?有没有相应的HID操作demo呢?

USB分析仪我这边有买的,我这边抓取到数据,第一张图片的是只读了8个字节,就STALL了,我这边再看看,第二张图的只获取了一些描述符,然后过一会就复位了
8c64d3c549d2bbf895a4356a8f8d87b.png5e173463dfd08f315e4238e2bfc5a4c.png


/downloads/CH559EVT_ZIP.html
可以参考CH559 主机的操作,里面有专门针对HID的例子,可以参考,寄存器控制什么都是一样的,参考这个看看。 


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