OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3689|回复: 6

探索者板读取U盘一直返回U盘忙状态错误( USBH_MSC_BUSY )

[复制链接]

8

主题

47

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
498
金钱
498
注册时间
2018-6-27
在线时间
85 小时
发表于 2019-8-9 15:25:27 | 显示全部楼层 |阅读模式
10金钱
硬件是探索者主板+U盘,在原子哥例程上修改以实现读取文件的一段指令然后执行电机运动,运动结束后又读一段指令这样持续下去。
现在出现的问题是在读取文件时,中途会出现读取失败,我仿真后发现是在USBH_UDISK_Read函数里面的这个while(res==USBH_MSC_BUSY)循环出不来,一直读取是忙状态所以卡死在这个while里面
1、这个问题是在正常读取几十条指令后就会发生,具体发生的位置又是随机的。。。
2、如果加定时强制退出while(res==USBH_MSC_BUSY)循环或者复位都会出现不能连接U盘,这个时候返回的错误不是忙状态,而是FR_DISK_ERR,低级磁盘I/O层中发生硬错误
3、只能通过断电重新上电来复位或者拔掉重插U盘才能连接U盘,然后又能成功读取,不过读取一段时间后还是会出现前面那个一直出现USBH_MSC_BUSY错误
我只能仿真到错误是读取文件时进入while(res==USBH_MSC_BUSY)循环,但后续我没了思路,求助各位大佬!

QQ截图20190809152438.png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

34

主题

331

帖子

0

精华

高级会员

Rank: 4

积分
857
金钱
857
注册时间
2018-9-16
在线时间
240 小时
发表于 2019-8-9 15:27:03 | 显示全部楼层
你这个是FLASH+文件系统模拟U盘吗
回复

使用道具 举报

8

主题

47

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
498
金钱
498
注册时间
2018-6-27
在线时间
85 小时
 楼主| 发表于 2019-8-9 15:28:16 | 显示全部楼层
plue 发表于 2019-8-9 15:27
你这个是FLASH+文件系统模拟U盘吗

不是,是用作主机去读取U盘,在原子哥OTG-HOST例程上修改的
回复

使用道具 举报

0

主题

3

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2019-7-25
在线时间
16 小时
发表于 2019-12-22 22:40:44 | 显示全部楼层
楼主问题解决了吗?最近也遇到和你一模一样的情况了。有什么思路吗,万分感谢了!
回复

使用道具 举报

0

主题

4

帖子

0

精华

初级会员

Rank: 2

积分
53
金钱
53
注册时间
2016-10-7
在线时间
11 小时
发表于 2019-12-25 15:46:07 | 显示全部楼层
一人血书。楼主解决了吗? 我怀疑和栈大小有关
回复

使用道具 举报

0

主题

1

帖子

0

精华

初级会员

Rank: 2

积分
99
金钱
99
注册时间
2020-5-26
在线时间
45 小时
发表于 2020-8-26 14:41:40 | 显示全部楼层
请问解决了吗,一模一样的问题,裸机状态下没问题但是移植到FreeRTOS上就成了这样
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2018-6-26
在线时间
5 小时
发表于 2020-9-27 15:37:07 | 显示全部楼层
这个问题也困扰了我很久了,USB库、FATFS库来回换了好几个,中途参考了原子、安富莱、野火的教程,似乎没有什么特别处理,在裸机下都能挂载读写,上ucos后就频繁读到乱码、列出文件列表也乱七八糟,时对时不对。
有说是堆栈问题、有说是延时问题、还有什么时钟频率之类的(裸机正常则可排除)。
最终发现是任务的优先级问题。因为我也是用来驱动电机运动的,有几个任务实时性都比较高,USB处理任务及读取U盘文件任务优先级相对较低,后面发现需要把读U盘的操作放到优先级最高时是没有问题的,证明应该是任务抢占导致的问题,目前我在FATFS进行读写U盘时临时把任务优先级改到最高来解决这种问题。
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-17 04:47

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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