STM32+UCOSII+U盘出错问题

本文讨论了在STM32F767IGT6平台上,使用UCOSII V1.30.02操作系统和FATFS R0.12a文件系统时遇到的U盘挂载和读写问题。问题主要表现为f_mount和文件操作返回FR_DISK_ERR,以及在特定条件下程序卡死并返回MSC_READ_BUSY。解决方案涉及调整USBH_Process的执行间隔和注意中断处理。经过调整,成功解决了U盘枚举速度过快和USB初始化中断问题,使得系统能正常运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

平台

芯片:STM32F767IGT6
存储:读卡器+2G/8G 卡,U盘
文件系统:FATFS R0.12a
操作系统:UCOSII V1.30.02
参考:正点原子例程
使用的其他外设:SDIO,网络LWIP,SDRAM,USB从设备,LTDC

问题

问题1:

U盘f_mount有时挂载不上,在挂载处,err返回值是0X01,根据返回值数值可确定是FR_DISK_ERR,
有时挂载上了,f_open或者f_write返回FR_DISK_ERR
如图
在这里插入图片描述

问题 2:

有时卡死,卡死的代码是f_mount或者f_open或者f_write或者f_read。一直在FATFS的某个循环中,具体哪个我忘记了,只知道有个返回代码是MSC_READ_BUSY。

体现

有时挂载不上,有时能挂载上,但是在其他地方出错,比较没规律,特别的是会卡死一直返回
MSC_READ_BUSY

相关代码:

在这里插入图片描述

在这里插入图片描述

解决

  1. 造成假象是我以为是移

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值