完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
情况是这样的,用STM32F105作host驱动U盘,用的STM32的MSC库,前面都没有问题 Enumeration completed > USBH_USR_UserInput OK. (我只在原库基础上加了串口中断输出调试)
一直卡在USBH_MSC_Handle 里的USBH_MSC_GETMaxLUN 里的USBH_CtlReq等,卡在(case CMD_WAIT)这了,谁知道是什么原因?如何解? 贴码如下: USBH_Status USBH_CtlReq (USB_OTG_CORE_HANDLE *pdev, USBH_HOST *phost, uint8_t *buff, uint16_t length) { USBH_Status status; status = USBH_BUSY; switch (phost->RequestState) { case CMD_SEND: /* Start a SETUP transfer */ USBH_SubmitSetupRequest(phost, buff, length); phost->RequestState = CMD_WAIT; status = USBH_BUSY; break; case CMD_WAIT: if (phost->Control.state == CTRL_COMPLETE ) { /* Commands successfully sent and Response Received */ phost->RequestState = CMD_SEND; phost->Control.state =CTRL_IDLE; status = USBH_OK; } else if (phost->Control.state == CTRL_ERROR) { /* Failure Mode */ phost->RequestState = CMD_SEND; status = USBH_FAIL; } else if (phost->Control.state == CTRL_STALLED ) { /* Commands successfully sent and Response Received */ phost->RequestState = CMD_SEND; status = USBH_NOT_SUPPORTED; } break; default: break; } return status; } |
|
相关推荐
1个回答
|
|
从您提供的信息来看,STM32F105在USB Host模式下驱动U盘时,卡在了USBH_MSC_GETMaxLUN函数中的USBH_CtlReq函数的CMD_WAIT状态。这可能是由于以下原因导致的:
1. USB设备未正确响应控制请求:U盘可能没有正确响应USB Host发送的控制请求,导致CMD_WAIT状态持续。 2. USB Host与U盘之间的通信问题:可能是由于USB Host与U盘之间的通信存在问题,导致控制请求无法正常完成。 3. USB Host驱动配置问题:STM32F105的USB Host驱动配置可能存在问题,导致无法正确处理控制请求。 为了解决这个问题,您可以尝试以下方法: 1. 检查U盘:确保U盘是好的,并且支持USB Host模式。您可以尝试使用其他U盘进行测试,以排除U盘本身的问题。 2. 检查USB连接:确保USB连接线和接口没有问题,连接稳定。 3. 检查USB Host驱动配置:检查STM32F105的USB Host驱动配置,确保配置正确。您可以参考STM32F105的官方文档和示例代码,确保驱动配置正确。 4. 调试和日志输出:在USBH_CtlReq函数中添加调试和日志输出,以便更好地了解控制请求的处理过程。这可以帮助您确定问题所在。 5. 更新固件和库:检查是否有适用于STM32F105的固件或库更新,这些更新可能包含了针对此类问题的修复。 6. 寻求社区帮助:如果您无法解决问题,可以在STM32和USB相关的开发者社区寻求帮助。其他开发者可能遇到过类似的问题,并能提供解决方案。 希望这些建议能帮助您解决问题。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1780 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1621 浏览 1 评论
1081 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
728 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1679 浏览 2 评论
1938浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
731浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
570浏览 3评论
596浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
556浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 23:55 , Processed in 0.772339 second(s), Total 81, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号