打印
[STM32F1]

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

[复制链接]
944|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wuhany|  楼主 | 2017-9-23 23:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

情况是这样的,用STM32F105作host驱动U盘,用的STM32的MSC库,前面都没有问题 Enumeration completed  > USBH_USR_UserInput OK.  (我只在原库基础上加了串口中断输出调试)
一直卡在USBH_MSC_Handle 里的USBH_MSC_GETMaxLUN 里的USBH_CtlReq等,卡在这了,谁知道是什么原因?如何解?
沙发
wyjie| | 2017-9-23 23:31 | 只看该作者

楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因

使用特权

评论回复
板凳
wuhany|  楼主 | 2017-9-23 23:34 | 只看该作者

贴码如下:
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;
}

使用特权

评论回复
地板
jlyuan| | 2017-9-23 23:37 | 只看该作者

USB不熟帮不了你;

楼主可以多看看USB2.0的相关资料;

使用特权

评论回复
5
wuhany|  楼主 | 2017-9-23 23:39 | 只看该作者


USB2.0 650页,我已看完了,但真正用还是差一些功力。谢谢你顶!
目前一直卡在case CMD_WAIT:这里轮询

使用特权

评论回复
6
dengdc| | 2017-9-23 23:40 | 只看该作者
如果LZ使用的是老的MSC Host库,就是STM32_USB-Host-Device_Lib_V2.1.0,它没有正确处理在主机发出命令,但是设备回复STALL的情况下,对stall应答的处理。

使用特权

评论回复
7
wuhany|  楼主 | 2017-9-23 23:42 | 只看该作者
有没有STM32 HOST驱动USB POS打印机这方面 的资料或实例呢?我司正在搞这方面的探索,正要这方面的技术

使用特权

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

本版积分规则

879

主题

10435

帖子

4

粉丝