
使用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。 请各位大侠给帮忙分析下,目前已经一筹莫展了,小弟先行谢过~~~ |
应该就是不支持。 |
没遇到过,不过应该是没问题的,你有问题不故道是,, |
换了别的U盘,正常的,只能怀疑是部分U盘兼容性不行了 |
一般文件系统对U盘大小会有点要求,其他类似兼容性的问题一般通过抓数据才好分析 |