打印
[STM32F1]

请教:STM32F107 USB能够识别的U盘很少。

[复制链接]
1039|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cry1109|  楼主 | 2020-12-21 10:55 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

CubeMX生成的代码,USB只能识别很少一部分的U盘。同一块板子,不用CubeMX生成的代码,使用标准库移植的USB库,能够识别大部分的U盘,包括CubeMX代码识别不了的U盘都能识别。而且还有一个很奇怪的现象,先烧录标准库的程序,能够识别的U盘在不断电的情况下插在USB上,然后烧录CubeMX代码后就又能够识别U盘了,U盘重新插拔后就又识别不了。


追踪CubeMX代码发现,USB枚举过程中,一直无法正常获取设备描述符,USB通过控制传输发送一个Setup包后等待设备返回相应的设备描述符,可是设备未能正常返回数据,提示USB处于NotReady状态。




提示USB未就绪:

获取设备描述符的状态机里,一直卡在CTRL_SETUP_WAIT这个状态,这个状态下最外层的if语句:
if (URB_Status == USBH_URB_DONE)
{
        //成功获取设备描述
}
else
{
        if ((URB_Status == USBH_URB_ERROR) || (URB_Status == USBH_URB_NOTREADY))
        {
                //获取设备描述符失败,URB_Status == USBH_URB_NOTREADY
        }
}
请教一下,有没有类似的问题,怎么解决。

使用特权

评论回复
沙发
li880wert| | 2020-12-21 15:14 | 只看该作者
没遇到过,淘宝上买了10多个U盘,便宜的几块钱,好的30多,容量最大的64G,最小的16G,从没遇到你这问题

使用特权

评论回复
板凳
caizhiwei| | 2020-12-21 15:31 | 只看该作者
把驱动删掉重新再来~

使用特权

评论回复
地板
嵌入小菜菜| | 2020-12-22 14:46 | 只看该作者
直接淘宝买U盘,不香吗?

使用特权

评论回复
5
cry1109|  楼主 | 2020-12-22 16:03 | 只看该作者
嵌入小菜菜 发表于 2020-12-22 14:46
直接淘宝买U盘,不香吗?

我是用STM32F107的USB接口读取U盘。

使用特权

评论回复
6
木木guainv| | 2021-1-11 10:21 | 只看该作者
U盘本来就很脆弱

使用特权

评论回复
7
磨砂| | 2021-1-11 10:25 | 只看该作者
U盘出现的很多问题都比较奇怪

使用特权

评论回复
8
晓伍| | 2021-1-11 10:28 | 只看该作者
能识别的那部分里边识别的稳定吗

使用特权

评论回复
9
八层楼| | 2021-1-11 10:33 | 只看该作者
驱动是不是出现问题了

使用特权

评论回复
10
观海| | 2021-1-11 10:35 | 只看该作者
没有遇到过楼主这样的情况

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

40

主题

172

帖子

4

粉丝