硬汉嵌入式论坛

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

[μCOS-II] UCOSII + FATFs+U盘问题

[复制链接]

5

主题

69

回帖

5

积分

初级会员

积分
5
发表于 2015-9-27 11:05:59 | 显示全部楼层 |阅读模式
一个程序书中,使用了一个按键,每按一次按键就把SD卡中的数据复制到U盘中。硬件使用的是STM32F207 host Fs读取U盘。库文件是安富莱开发板的USB Lib,程序也是从开发板改过来的。 现在问题来了,第一次使用的时候,数据能够正常复制到U盘中,然后第二次按键的时候,USB就死在了Fatfs-》diskio.c -》disk_read 中的do {。。。}while(status == USBH_MSC_BUSY ); 一直卡住busy状态,只有复位才能恢复,有人遇到么?怎么解决呢?。另外还有个问题是关于USBH_Process在多任务中的调用,需要这样的写法么(就是在不同任务中使用的时候做互斥访问) ?    在读写优盘期间是否要禁止调用USB_Process函数呢?   
if(USB_Lcok())
        {
            USBH_Process(&USB_OTG_Core_dev, &USB_Host);
            USB_UnLock();
        }
使用中还发现个奇怪的问题,有的U盘就无法使用,只能识别,无法挂载文件系统。
现在还有个很大的疑问: STM32的USB稳定么,能否用在可靠性要求很高的地方,比如车载设备,医疗设备等的通信中。
回复

使用道具 举报

5

主题

69

回帖

5

积分

初级会员

积分
5
 楼主| 发表于 2015-9-27 11:07:20 | 显示全部楼层
如果遇到USB或者SD卡死机的话,除了看门狗有没有办法软件复位设备?或者其他可以提高可靠性的方法?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106974
QQ
发表于 2015-9-28 08:27:58 | 显示全部楼层
官方的USB库,稳定性还没有实际检测过,兼容性的确是稍差些。
如何函数 USBH_Process不支持重入的话就得加锁。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-12 13:57 , Processed in 0.154017 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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