ch559作为USB host识别 CDC usb时出错。

大家好,我们的需求是使用CH559作为host端,然后插入一个由STM32模拟的CDC usb设备。 但是在进行检测时一直出错,主要是在 CtrlGetConfigDescr这里出错,获得的wTotalLengthL 是一个非常大的数字。 想问下有没有这方面的参考用例? 是否在作为CDC设备host的时候,跟ch340这类设备有区别?

CtrlGetConfigDescr是获取配置描述符,在在我们例程代码中执行该操作的底层调用同获取设备描述符,如果设备描述符的获取是没有问题的,那这个问题应该也不大,重点分析一下设备描述符的获取是否正确吧,还有可以看一下该设备在电脑上正确枚举的时候的相关描述符的信息。

其次注意wTotalLength字段是小端。

由于CH340是厂商的,所以协议是厂商自定义,与通用的CDC类串口在枚举、配置、操作上是有不同的。

/bbs/thread-65023-4.html参考该连接第60#CH554的代码


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