[其他ST产品] USBDisk无法被识别到?

[复制链接]
892|16
 楼主| 柴库柴库 发表于 2025-4-1 11:00 | 显示全部楼层 |阅读模式
STM32CubeIDE+FreeRTOS+USB_OTG_FS +USB Host+FATFS,无法识别 usbdisk。
STM32CubeIDE+USB_OTG_FS +USB Host+FATFS,可以识别 usbdisk。
以上两种配置都可以在 MDK5 中识别 usbdisk。

两只袜子 发表于 2025-4-1 11:48 | 显示全部楼层
可能是FreeRTOS的任务优先级或资源分配不当引起的。
elephant00 发表于 2025-4-1 11:50 | 显示全部楼层
USB Host库或FATFS库与FreeRTOS可能不兼容。
jcky001 发表于 2025-4-1 13:00 | 显示全部楼层
FreeRTOS的配置可能不正确。
cr315 发表于 2025-4-1 14:00 | 显示全部楼层
代码问题?
flycamelaaa 发表于 2025-4-1 18:00 | 显示全部楼层
检查并修改与USB Host和FATFS相关的代码,以确保它们能够正确初始化并处理USB盘。
laocuo1142 发表于 2025-4-1 20:00 | 显示全部楼层
检查并更新USB Host库和FATFS库到最新版本。
公羊子丹 发表于 2025-4-2 07:44 | 显示全部楼层
这听起来像是 FreeRTOS 任务调度的问题,USB 相关的任务优先级调整过吗?
周半梅 发表于 2025-4-2 07:45 | 显示全部楼层
你在 STM32CubeIDE 里用 FreeRTOS 版本时,USB Host 任务是不是被挂起了?可以试着手动唤醒看看。
帛灿灿 发表于 2025-4-2 07:46 | 显示全部楼层
STM32CubeIDE 里加了 FreeRTOS 之后,USB 相关的回调函数可能没正确触发,试试在 usb_host.c 里加调试信息。
童雨竹 发表于 2025-4-2 07:47 | 显示全部楼层
FreeRTOS 版本下 USBH_Process() 是在哪个任务里调用的?有可能是任务没正常运行。
万图 发表于 2025-4-2 07:48 | 显示全部楼层
MDK5 里能正常运行的话,可能是 STM32CubeIDE 的 usb_host.c 里 FreeRTOS 相关的初始化流程有差别。
Wordsworth 发表于 2025-4-2 07:49 | 显示全部楼层
试试在 FreeRTOS 版本的 MX_USB_HOST_Init() 里加 osDelay(500);,有时候 USB 设备需要一点初始化时间。
Bblythe 发表于 2025-4-2 07:50 | 显示全部楼层
你在 FreeRTOS 版本里有开启 USE_STATIC_ALLOCATION 吗?如果开启了,可能 USB 任务栈大小不够。
Pulitzer 发表于 2025-4-2 07:50 | 显示全部楼层
试试在 STM32CubeIDE 里,把 USBH_HID 这些组件去掉,仅保留 USBH_MSC 看看是否有影响。
Uriah 发表于 2025-4-2 07:52 | 显示全部楼层
USBH_UserProcess() 里的 ApplicationState 逻辑在 FreeRTOS 版本里可能会有竞态问题,试试加 volatile 关键字。
Clyde011 发表于 2025-4-2 07:53 | 显示全部楼层
用 USBH_DEBUG_LEVEL 开启详细日志,看看 USB 设备有没有成功枚举,或者是否卡在某个步骤了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

62

主题

82

帖子

0

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