hyt 发表于 2024-3-29 08:24:35

usb复合设备,mini口usb读写u盘+虚拟串口动态切换

各位前辈,我最近在搞mini口usb读写u盘+虚拟串口动态切换,发现虚拟串口一切正常,,但是来回切换读写u盘时,前三次都可以读写,进行第四次,u盘可以挂载成功,但是打开目录会卡死
result = f_opendir(&DirInf, "/");

卡到这句话内部的

res = chk_mounted(&path, &dj->fs, 0);
出不来,多尝试了几次,还是在第4次卡死
动态切换,是一直循环初始化主机和设备看谁连接,做到的
dubug发现它在这卡

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))
                                                {
                                                        break;
                                                }
                                        }
                                        while (status == USBH_MSC_BUSY );
                                }



do while一直循环

eric2013 发表于 2024-3-30 09:27:37

USB动态切换,有个DeInit的几个函数,要正确调用。
页: [1]
查看完整版本: usb复合设备,mini口usb读写u盘+虚拟串口动态切换