[STM32F1] USBH_MSC_BUSY 问题

[复制链接]
 楼主| lizye 发表于 2021-4-12 18:43 | 显示全部楼层 |阅读模式
STM32F105 写U盘
DRESULT disk_read (
                   BYTE drv,                        /* Physical drive number (0) */
                   BYTE *buff,                        /* Pointer to the data buffer to store read data */
                   DWORD sector,                /* Start sector number (LBA) */
                   BYTE count                        /* Sector count (1..255) */
                     )
{
  BYTE status = USBH_MSC_OK;

  if (drv || !count) return RES_PARERR;
  if (Stat & STA_NOINIT) return RES_NOTRDY;


  if(HCD_IsDeviceConnected(&USB_OTG_Core))
  {  

    do
    {
      status = USBH_MSC_Read10(&USB_OTG_Core, buff,sector,512 * count);
      USBH_MSC_HandleBOTXfer(&USB_OTG_Core ,&USB_Host);

      if(!HCD_IsDeviceConnected(&USB_OTG_Core))
      {
        return RES_ERROR;
      }      
    }
    while(status == USBH_MSC_BUSY );
  }

  if(status == USBH_MSC_OK)
    return RES_OK;
  return RES_ERROR;

}

在只处理U盘写工程里OK,每5SEC 保存15bye 数到U盘当中,

       但是加入到另外一个工程里,里面有开UART中断/ 定时中断5,
        在写入几组数据后就在。。。。
     disk_read 函数里出来不来了,
      
    [size=14.44444465637207px] status = USBH_MSC_Read10(&USB_OTG_Core, buff,sector,512 * count);
     返回一直是 USBH_MSC_BUSY ...
 楼主| lizye 发表于 2021-4-12 18:45 | 显示全部楼层
如果是中断引起,串口中断程序写短点看看;
 楼主| lizye 发表于 2021-4-12 18:48 | 显示全部楼层
关了串口中断,还是一样,
xxrs 发表于 2021-4-12 18:49 | 显示全部楼层
我现在是每5SEC 保存一次数据到U盘,
zhaoxqi 发表于 2021-4-12 18:51 | 显示全部楼层

你有什么打算呢?或者你想知道什么?
 楼主| lizye 发表于 2021-4-12 18:53 | 显示全部楼层
几分钟后就挂在里面了,出不来了
 楼主| lizye 发表于 2021-4-12 18:59 | 显示全部楼层
U盘有时是一直闪,有时是过2分钟再闪烁几下。
 楼主| lizye 发表于 2021-4-12 19:01 | 显示全部楼层

如果是重新拔插U盘,它就会挂在

case USBH_MSC_BOT_USB_TRANSFERS:
      /* Process the BOT state machine */
      USBH_MSC_HandleBOTXfer(pdev , phost);
      break;

这个是在枚举之后的,
chuxh 发表于 2021-4-12 19:04 | 显示全部楼层
我现在也是遇到这个问题 USBH_MSC_Read10 读不到数据,while(status == USBH_MSC_BUSY ); 一直是BUSY状态,不知楼主解决没有
llljh 发表于 2021-4-12 19:06 | 显示全部楼层
while(status == USBH_MSC_BUSY );读死循,求解
 楼主| lizye 发表于 2021-4-12 19:08 | 显示全部楼层
一直没有解决,
使用16G的U盘也是一样,也就是死在 枚举完成之后,
supernan 发表于 2021-4-12 19:09 | 显示全部楼层
现在我也遇到了一模一样的问题了。麻烦问一下前辈解决了么?有没有思路啊?
 楼主| lizye 发表于 2021-4-12 19:11 | 显示全部楼层

唉,还是没有什么结果,算了,多谢大家啦
keaibukelian 发表于 2021-5-7 10:57 | 显示全部楼层
是不是时序不对啊
labasi 发表于 2021-5-7 10:58 | 显示全部楼层
usb的问题真多
paotangsan 发表于 2021-5-7 11:01 | 显示全部楼层
如果不用枚举可以吗
renzheshengui 发表于 2021-5-7 11:14 | 显示全部楼层
一直不敢开发u盘 问题忒多
wakayi 发表于 2021-5-7 11:22 | 显示全部楼层
这个问题很不好找
您需要登录后才可以回帖 登录 | 注册

本版积分规则

852

主题

9757

帖子

2

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