STM32
直播中

klysa

12年用户 1220经验值
私信 关注
[问答]

U盘FATFS传输中断死机怎么解决?

大家好,目前我使用USB Mass Storage对U盘做FATFS用来下载板子上NAND裡的资料
正常操作: 插入U盘后,等待NAND的资料搬到U盘完,拔掉U盘之后插入PC,会有我要的资料,重插U盘功能也是正常。


不正常的操作: 插入U盘后,NAND的资料还没搬完时,就拔掉U盘,当然不可能有资料,板子上的灯号有继续闪烁,uart没传值,
                   再次插入U盘也没反应,所以我先判断tiME还活着,因为灯号是写在TIME,而UART和USB Mass Storage是写在主程式裡,
                   但完全不动作,板子断復电后,板子是完全不动作,灯号也不闪,只有重烧code后才恢復正常。


用DEBUG MODE观察Appli_state,发现不正常操作最后会停留在APPLICATION_DISCONNECT,所以MCU是有侦测到U盘抽出,
但我现在不知道为什么主程式会卡住,断復电会完全不动作,请大家帮帮忙
                                                                                                                  
switch(Appli_state)
{
  case APPLICATION_READY:
                               MSC_Application();
                               Appli_state = APPLICATION_START;
                               break;

  case APPLICATION_START:
                               f_mount(NULL, (TCHAR const*)"", 0);
                               break;

  case APPLICATION_DISCONNECT:
                               Appli_state = APPLICATION_IDLE;
                               break;
  default:
             break;
        }







感謝回答,目前函式庫是1.21 [/td]

回帖(1)

李霞

2024-4-22 15:53:59
建议您尝试以下解决方法:

1. 检查U盘是否完整并且没有损坏。可以尝试使用其他U盘进行测试,以确定是否是U盘本身的问题。

2. 检查电脑和板子之间的连接是否稳定。确保USB接口没有松动或损坏导致传输中断。

3. 更新USB Mass Storage驱动程序。有时候,驱动程序可能存在问题,导致传输中断。尝试更新驱动程序,或者删除并重新安装驱动程序,以解决问题。

4. 检查文件系统的完整性。使用电脑上的磁盘检查工具,如Windows系统的磁盘检查工具(chkdsk命令)来扫描和修复文件系统中的错误。

5. 对于软件方面的问题,可以在代码中添加异常处理机制,来处理意外的中断情况,例如捕获中断事件并进行恢复或重试。



举报

更多回帖

发帖
×
20
完善资料,
赚取积分