打印

求助:STM32F105 HOST 例程 能识别u盘,不能读写u盘

[复制链接]
楼主: gaohuating
手机看帖
扫描二维码
随时随地手机跟帖
21
zgzzlt| | 2012-12-11 11:15 | 只看该作者 回帖奖励 |倒序浏览
Luca871250 发表于 2012-12-10 11:58
我测试时发现有个爱国者U盘在写文件时,写到中途会失败。跟踪发现“数据PID错误”,导致通道中止;不知道 ...

你好!能加一下qq吗?843182364     谢谢!  我用的是最新的V2.1.0库,测试金士顿8G的U盘,能连接上,但是运行到这里时就直接跳出switch语句,枚举出错,不知道是什么原因。
case HOST_ENUMERATION:     
    /* Check for enumeration status */  
    if ( USBH_HandleEnum(pdev , phost) == USBH_OK)
    {
      /* The function shall return USBH_OK when full enumeration is complete */
      
      /* user callback for end of device basic enumeration */
      phost->usr_cb->EnumerationDone();
      
      phost->gState  = HOST_USR_INPUT;   
    }
    break;

使用特权

评论回复
22
Luca871250| | 2012-12-11 14:00 | 只看该作者
zgzzlt 发表于 2012-12-11 11:15
你好!能加一下qq吗?843182364     谢谢!  我用的是最新的V2.1.0库,测试金士顿8G的U盘,能连接上,但 ...

枚举失败,又是用的最新的库,你最好检查下硬件,硬件有问题概率比较大。

使用特权

评论回复
23
zgzzlt| | 2012-12-11 17:15 | 只看该作者
Luca871250 发表于 2012-12-11 14:00
枚举失败,又是用的最新的库,你最好检查下硬件,硬件有问题概率比较大。 ...


这是我的USB Host电路图,你看一下这电路图有问题吗?我的VBUS端直接用的是5V供电

使用特权

评论回复
24
Luca871250| | 2012-12-12 09:37 | 只看该作者
zgzzlt 发表于 2012-12-11 17:15
这是我的USB Host电路图,你看一下这电路图有问题吗?我的VBUS端直接用的是5V供电 ...

VBUS是受控的,代码里有要控制的地方;

使用特权

评论回复
25
zgzzlt| | 2012-12-12 10:29 | 只看该作者
Luca871250 发表于 2012-12-12 09:37
VBUS是受控的,代码里有要控制的地方;

那VBUS端改怎么接呢,能发一下你的原理图吗?谢谢。

使用特权

评论回复
26
Jsilcon| | 2012-12-12 11:49 | 只看该作者
借宝地先问一下,假如F105/F107读写U盘成功以后,能处理U盘上的文件吗?
或怎样才能实现与PC机通过U盘进行文件交互。

使用特权

评论回复
27
小农wz| | 2012-12-12 14:45 | 只看该作者

使用特权

评论回复
28
Jsilcon| | 2012-12-18 08:57 | 只看该作者
再问,假如F105/F107读写U盘成功以后,能处理U盘上的文件吗?
或怎样才能实现与PC机通过U盘进行文件交互。

使用特权

评论回复
29
wpcyd| | 2013-4-24 11:25 | 只看该作者
问一下可不可以给我发一下您的例程啊,我没找到。。万分感激

使用特权

评论回复
30
wpcyd| | 2013-4-24 12:02 | 只看该作者
liulwn 发表于 2012-8-1 00:33
我的已经读U盘成功,,说几点重要的:要用25M的外部晶振,不然要修改时钟。USB口的电源脚直接接5V ...

您能发一份读写U盘的例程吗?我在上面的网站上没找到,正在做毕业设计,谢谢您了。。。

使用特权

评论回复
31
xiaoma2562| | 2013-4-30 11:21 | 只看该作者
mark

使用特权

评论回复
32
xiaoma2562| | 2013-5-2 09:32 | 只看该作者
mark

使用特权

评论回复
33
wpcyd| | 2013-5-14 10:26 | 只看该作者
zgzzlt 发表于 2012-12-11 11:15
你好!能加一下qq吗?843182364     谢谢!  我用的是最新的V2.1.0库,测试金士顿8G的U盘,能连接上,但 ...

我现在遇到了和您一样的问题,就是在获取8位描述符不成功,然后进入
   
  case HOST_CTRL_XFER:
    /* process control transfer state machine */
    USBH_HandleControl(pdev, phost);   
    break;
请问当初你怎么解决的额,时钟已经配置好了,就是不知道USB的48MHz在哪里配置

使用特权

评论回复
34
临时账户| | 2013-6-11 11:03 | 只看该作者
香主,我也遇到了此问题:但是我的配置是对的,

define STM32F10X_CL
USE_USB_OTG_FS
我把两个宏的定义放在了配置项里面, 但是仍然出现这个问题
我和最新的库V2.1.0比较了一下 代码都是相同的,很奇怪。
我的是有时候好用有时候不好用。

不好用的原因是:USBH_MSC_HandleBOTXfer 函数中:

URB_Status = HCD_GetURB_State(pdev , MSC_Machine.hc_num_out);  
返回为URB_IDLE。

不明白为什么?
在网上搜,发现很多人都遇到了这个问题,但最后都没有解决方案。

使用特权

评论回复
35
临时账户| | 2013-6-11 11:27 | 只看该作者
我也遇到了同样的问题, 在USBH_MSC_HandleBOTXfer函数中
URB_Status = HCD_GetURB_State(pdev , MSC_Machine.hc_num_out);
返回URB_IDLE

我用的是8M的外部晶振, 库是V2.1.0版本,香水城提到的那两个宏我也都开了, 请大侠帮助

使用特权

评论回复
36
我TMD不是坏蛋| | 2014-3-11 22:44 | 只看该作者
临时账户 发表于 2013-6-11 11:03
香主,我也遇到了此问题:但是我的配置是对的,

define STM32F10X_CL

您好,这个问题您解决没有呢??我也遇到了(HID手柄),但前两天可以,第二天程序那里都没有变动,就不行了,不过鼠标还是可以成功

使用特权

评论回复
37
yf823547490| | 2014-6-16 12:38 | 只看该作者
MARK,顶香版主~~~~~~顶。。。。

使用特权

评论回复
38
想做大牛的小马| | 2014-6-16 14:04 | 只看该作者
高,实在是高!~

使用特权

评论回复
39
ytmpeigd| | 2014-7-25 19:43 | 只看该作者
mark 学习了,
U盘最大支持多少G呢?

使用特权

评论回复
40
STARM| | 2014-7-29 18:46 | 只看该作者
>>  在USBH_MSC_HandleBOTXfer函数中 URB_Status = HCD_GetURB_State(pdev , MSC_Machine.hc_num_out); 返回URB_IDLE

这个问题有解决方法吗 ?

使用特权

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

本版积分规则