[求助]CH374连接USB设备问题

最近我在做ch374USB通信4G通信模块的应用,目前是这样的: 1、初始化USBHOST功能及检测设备连接是正常的(REG_INTER_FLAG的BIT_IF_DEV_ATTACH为1) 2、我希望读取设备的描述符,调用Host.c的GetDeviceDescr()函数(291行左右),通过断点执行发现REG_USB_STATUS寄存器的值为0xCC(在主机方式下,USB设备的应答PID:XX00=设备应答错误或者超时无应答) 这里我的问题是: 1、我该如何处理这个错误? 2、在看程序流程时发现有一下几个常量

// 获取设备描述符 const INT8U SetupGetDevDescr[] = { 0x80, 0x06, 0x00, 0x01, 0x00, 0x00, 0x12, 0x00 }; // 获取配置描述符 const INT8U SetupGetCfgDescr[] = { 0x80, 0x06, 0x00, 0x02, 0x00, 0x00, 0x04, 0x00 }; // 设置USB地址 const INT8U SetupSetUsbAddr[] = { 0x00, 0x05, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00 }; // 设置USB配置 const INT8U SetupSetUsbConfig[] = { 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; 这些常量的值是针对不同的设备应用修改还是固定的?不知有相应的说明手册吗?

3、您这儿有详细的CH374的设计开发应用文档指引客户软件设计吗?我在贵网下载了一些资料,但是这些资料总感觉缺少指引芯片级软件开发的指引。

盼解答,谢谢。

根据你的现象,应该是检测到了设备的连接,但是获取设备描述符出错,有可能是下发的命令不正确或者是设备没有响应。那几个常量是标准的USB设备都需要下发的命令,基本都是一样的,这些在USB协议里都有说明。我们只是提供一些简单的操作例子,具体设计流程最好是获取电脑对该设备操作流程,然后使用我们CH374模拟这个过程。


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