STM32
直播中

石飞鹏

7年用户 995经验值
私信 关注
[问答]

使用STM32CubeMx生成USB HOST及fatfs,实现STM32F105RC访问U盘的功能,无法枚举设备的原因?

使用STM32 CubeMx生成USB HOST及fatfs代码框架,实现STM32F105RC访问U盘的功能,目前出现的问题是程序只能识别2G U盘,4G因为没有现成U盘未测试,8G和16G报设备未就绪,无法枚举设备。在开启USB Host log以后使用手上8G 和16G U盘测试,日志如下图所示。        现在能发现的问题是,USB IP核在检测到U盘插入以后,会通过底层硬件给U盘复位,然后会进入到static USBH_StatusTypeDef USBH_HandleControl(USBH_HandleTypeDef *phost)这个函数里,根据状态机顺序,先发送setup包,然后紧接着跳转到CTRL_SETUP_WAIT这个状态里通过URB_Status = USBH_LL_GetURBState(phost, phost->Control.pipe_out);这个语句获取URB状态,目前一直返回USBH_URB_NOTREADY。
        请各位大侠给帮忙分析下,目前已经一筹莫展了,小弟先行谢过~~~

回帖(2)

李丹

2024-4-9 09:32:04
一般文件系统对U盘大小会有点要求,其他类似兼容性的问题一般通过抓数据才好分析 
举报

马占云

2024-4-9 15:09:37
出现无法枚举设备的问题可能有多个原因。以下是一些可能的原因:

1. 电源供应不足:U盘需要足够的电源来正常工作。检查供电威廉希尔官方网站 是否能够提供足够的电流给U盘。

2. U盘兼容性问题:不同的U盘可能使用不同的通信协议和文件系统。确保U盘与USB主机的兼容性,并支持USB Host和FATFS协议。

3. USB Host和FATFS驱动程序问题:确保使用的USB Host和FATFS驱动程序与硬件和操作系统兼容,并正确配置和初始化这些驱动程序。

4. 代码错误或配置问题:检查生成的代码和配置文件是否正确设置了USB Host和FATFS的参数和功能。

5. U盘问题:尝试使用其他U盘进行测试,以确定问题是否与特定的U盘有关。如果其他U盘可以正常工作,可能是U盘本身的问题。

建议按照以下步骤进行排查和解决问题:

1. 检查供电威廉希尔官方网站 和电源是否正常工作,并能够提供足够的电流给U盘。
2. 确认U盘与USB主机的兼容性,并支持USB Host和FATFS协议。
3. 验证使用的USB Host和FATFS驱动程序与硬件和操作系统兼容,并正确配置和初始化这些驱动程序。
4. 仔细检查生成的代码和配置文件是否正确设置了USB Host和FATFS的参数和功能。
5. 尝试使用其他U盘进行测试,以确定问题是否与特定的U盘有关。如果其他U盘可以正常工作,可能是U盘本身的问题。

如果问题仍然存在,请尝试从日志和调试信息中查找更多关于无法枚举设备的提示,并参考相关文档或社区william hill官网 寻求帮助。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分