jeff-392288 发表于 2015-6-1 14:51:59

STM32F105的USB_Host模式下驱动U 盘问题卡在USBH_MSC_GETMaxLUN->USBH...

情况是这样的,用STM32F105作host驱动U盘,用的STM32的MSC库,前面都没有问题 Enumeration completed> USBH_USR_UserInput OK.(我只在原库基础上加了串口中断输出调试)
一直卡在USBH_MSC_Handle 里的USBH_MSC_GETMaxLUN 里的USBH_CtlReq等,卡在(case CMD_WAIT)这了,谁知道是什么原因?如何解?
贴码如下:
USBH_Status USBH_CtlReq   (USB_OTG_CORE_HANDLE *pdev,
                           USBH_HOST         *phost,
                           uint8_t             *buff,
                           uint16_t            length)
{
USBH_Status status;
status = USBH_BUSY;

switch (phost->RequestState)
{
case CMD_SEND:
    /* Start a SETUP transfer */
    USBH_SubmitSetupRequest(phost, buff, length);
    phost->RequestState = CMD_WAIT;
    status = USBH_BUSY;
    break;
   
case CMD_WAIT:
   if (phost->Control.state == CTRL_COMPLETE )
    {
      /* Commands successfully sent and Response Received*/      
      phost->RequestState = CMD_SEND;
      phost->Control.state =CTRL_IDLE;
      status = USBH_OK;      
    }
    else if(phost->Control.state == CTRL_ERROR)
    {
      /* Failure Mode */
      phost->RequestState = CMD_SEND;
      status = USBH_FAIL;
    }   
   else if(phost->Control.state == CTRL_STALLED )
    {
      /* Commands successfully sent and Response Received*/      
      phost->RequestState = CMD_SEND;
      status = USBH_NOT_SUPPORTED;
    }
    break;
   
default:
    break;
}
return status;
}
页: [1]
查看完整版本: STM32F105的USB_Host模式下驱动U 盘问题卡在USBH_MSC_GETMaxLUN->USBH...