stm32f407 U盘读写的问题

2019-07-20 01:00发布

最近在参考开发板的USB U盘(HOST)实验的例程学习,手上有1个1G的U盘和一张1G的SD卡(带读卡器),将SD卡(带读卡器)插入开发板的USB口时,测试程序能够正常识别SD卡,并且可以正常读写。当将U盘插入开发板的USB接口时,测试程序没有反应,根据测试程序接着调试,发现程序在U盘插入时,程序能检测到,可是在函数USBH_Process  中的
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; 中返回USBH_BUSY,程序始终在这一步出现问题。测试用的U盘只有1个逻辑分区,U盘本身是没有问题的,可以在PC上正常读.,目前想知道的是测试程序的问题,还是说是ST带的USB库导致的USB兼容性问题,现在手上没有其他的U盘了。希望得到大家的帮助。我在网上查了一下,有人也出现同样的问题,但是也没有确定的说法。谢谢大家了!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。