你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【FAQ求助】STM32F429 U盘+FreeRTOS 问题

[复制链接]
苏柚 提问时间:2015-8-12 11:07 /
问题1: FreeRTOS为操作系统,STM32F429为主机,对U盘进行读写。有时候会出现:U盘插入时,会出现系统停止运行,把U盘拔出来,系统又可以正常运行。
此现象出现之后,只有系统复位之后才会消失,不如现象一直存在。(此现象出现的概率也较小),U盘中断级别为5,改U盘中断级别为8或者9之后,现象依旧会出现。我用的USB库是3.1.0的版本




问题2:因为之前不支持U盘热插拔,所以我有改USB中断里面的底层:
static void HCD_Port_IRQHandler(HCD_HandleTypeDef *hhcd)
{
  ... ....
    if( hprt0 & USB_OTG_HPRT_PCDET==USB_OTG_HPRT_PCDET)
       { //USB_MASK_INTERRUPT(hhcd->Instance,USB_OTG_GINTSTS_DISCINT);
            HAL_HCD_Connect_Callbcak(hhcd);
        }
   ....
}
屏蔽掉了USB_MASK_INTERRUPT(hhcd->Instance,USB_OTG_GINTSTS_DISCINT)就支持热插拔了。。。


FAQ:https://www.stmcu.org.cn/faq/index/detail/id-70593




收藏 评论6 发布时间:2015-8-12 11:07

举报

6个回答
creep 回答时间:2015-8-12 11:21:47
问题1有可能是U盘枚举失败后触发了suspended中断导致系统休眠了,找下USB库中有没有suspended方面的中断函数以及进入sleep休眠的代码。
苏柚 回答时间:2015-8-12 11:24:49
creep 发表于 2015-8-12 11:21
问题1有可能是U盘枚举失败后触发了suspended中断导致系统休眠了,找下USB库中有没有suspended方面的中断函 ...

  大神就是牛
creep 回答时间:2015-8-12 11:58:47

小哥,别打击我,我是随便猜的啊,我啥也不懂!
yanhaijian 回答时间:2015-8-12 14:39:01
你要仿真看看U盘插入时程序究竟停在哪里出不去。
拥挤的寒冷 回答时间:2015-8-12 16:50:51
creep 发表于 2015-8-12 11:21
问题1有可能是U盘枚举失败后触发了suspended中断导致系统休眠了,找下USB库中有没有suspended方面的中断函 ...

貌似可能有这种情况。。。我现在U盘的VBUS引脚是直接5V供电的,如果5V有干扰的话,是否就会引起这种情况?
拥挤的寒冷 回答时间:2015-8-12 16:51:29
yanhaijian 发表于 2015-8-12 14:39
你要仿真看看U盘插入时程序究竟停在哪里出不去。

哎呀。。。遇到这种问题最纠结了。。。偶尔出现。。。

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版