硬汉嵌入式论坛

 找回密码
 立即注册
查看: 238|回复: 1
收起左侧

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

[复制链接]

2

主题

1

回帖

7

积分

新手上路

积分
7
发表于 2024-3-29 08:24:35 | 显示全部楼层 |阅读模式
各位前辈,我最近在搞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一直循环
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106746
QQ
发表于 2024-3-30 09:27:37 | 显示全部楼层
USB动态切换,有个DeInit的几个函数,要正确调用。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-3 19:29 , Processed in 0.159617 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表