[STM32F1] USB_Host模式

[复制链接]
 楼主| wuhany 发表于 2022-11-12 10:50 | 显示全部楼层 |阅读模式
ST, os, 105, ma, ge, USB
STM32F105的USB_Host模式下驱动U 盘问题卡在USBH_MSC_GETMaxLUN->USBH_CtlReq
午夜粪车 发表于 2022-11-12 10:51 | 显示全部楼层
楼主详细说说怎么回事啊,这么说太笼统了
 楼主| wuhany 发表于 2022-11-12 10:53 | 显示全部楼层
情况是这样的,用STM32F105作host驱动U盘,用的STM32的MSC库,前面都没有问题 Enumeration completed  > USBH_USR_UserInput OK.  (我只在原库基础上加了串口中断输出调试)
一直卡在USBH_MSC_Handle 里的USBH_MSC_GETMaxLUN 里的USBH_CtlReq等,卡在这了,谁知道是什么原因?如何解?
stly 发表于 2022-11-12 22:28 | 显示全部楼层
楼主程序可以公开吗?贴程序看下吧,这么说看不出什么原因
 楼主| wuhany 发表于 2022-11-12 22:30 | 显示全部楼层

贴码如下:
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;
}
zhanghqi 发表于 2022-11-12 22:32 | 显示全部楼层

USB不熟帮不了你;

楼主可以多看看USB2.0的相关资料;
 楼主| wuhany 发表于 2022-11-12 22:34 | 显示全部楼层

USB2.0 650页,我已看完了,但真正用还是差一些功力。谢谢你顶!
目前一直卡在case CMD_WAIT:这里轮询
pengf 发表于 2022-11-12 22:36 | 显示全部楼层
如果LZ使用的是老的MSC Host库,就是STM32_USB-Host-Device_Lib_V2.1.0,它没有正确处理在主机发出命令,但是设备回复STALL的情况下,对stall应答的处理。
 楼主| wuhany 发表于 2022-11-12 22:38 | 显示全部楼层
有没有STM32 HOST驱动USB POS打印机这方面 的资料或实例呢?我司正在搞这方面的探索,正要这方面的技术
tian111 发表于 2022-11-12 22:42 | 显示全部楼层

楼主是说初始化都过不去吗
huangchui 发表于 2022-11-12 22:44 | 显示全部楼层
晶振起振了吗
lizye 发表于 2022-11-12 22:47 | 显示全部楼层
能识别吗还
zhaoxqi 发表于 2022-11-12 22:49 | 显示全部楼层
没弄过usb啊
llljh 发表于 2022-11-12 22:51 | 显示全部楼层
帮楼主顶一下
juventus9554 发表于 2022-11-12 22:57 | 显示全部楼层
没有遇到过这个问题啊
pengf 发表于 2022-11-12 22:59 | 显示全部楼层

供电稳定吗
Bowclad 发表于 2022-11-13 18:54 | 显示全部楼层
晶振起振了吗
Undshing 发表于 2022-11-14 20:23 | 显示全部楼层
没有正确处理在主机发出命令,但是设备回复STALL的情况下,对stall应答的处理
可怜的小弗朗士 发表于 2024-5-21 13:52 | 显示全部楼层
你换一个U盘,ST的库有的U盘挂载不了
Clyde011 发表于 2024-11-12 07:32 | 显示全部楼层

环氧树脂、聚胺脂、有机硅灌封胶
您需要登录后才可以回帖 登录 | 注册

本版积分规则

879

主题

10435

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部

879

主题

10435

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部