[STM32F4] 使用FATFS重新挂载SD卡后无法打开

[复制链接]
 楼主| 石榴大王 发表于 2025-8-6 15:17 | 显示全部楼层 |阅读模式
使用FATFS重新挂载SD卡后无法打开(FR_NOT_ENABLED)。MCU为STM32F429,开发环境是STM32cubeIDE。板子通过SDIO接口连接了SD卡,并且应用程序中使用了RTOS。上电后,挂载和打开操作都正常,但当拔出SD卡并重新插入后,虽然挂载成功,但"F_OPEN"函数返回"FR_NOT_ENABLED"错误。在拔出SD卡后会执行卸载操作。所有这些代码都在同一个线程中。

我的挂载代码如下:
FATFS_LinkDriver(&SD_Driver,SDPath);

HAL_Delay(200);

res = f_mount(&SDFatFS, (TCHAR const*)SDPath, 1);

if (res == FR_OK)

{

SD_CARD_Mount_Status = 1;

RS485_Write_Read(RS485_Write);

printf("Mount OK\n\r");

RS485_Write_Read(RS485_Read);

}

else

{

SD_CARD_Mount_Status = 0;

RS485_Write_Read(RS485_Write);

printf("Mount Failed = %u\n\r",res);

RS485_Write_Read(RS485_Read);

}

My Unmounting code is:

res = f_mount(NULL, (TCHAR const*)SDPath, 1);

HAL_Delay(200);

FATFS_UnLinkDriver(SDPath);

SD_CARD_Mount_Status = 0;

RS485_Write_Read(RS485_Write);

printf("Unmount OK\n\r");

RS485_Write_Read(RS485_Read);

powerantone 发表于 2025-8-6 15:35 | 显示全部楼层
SD卡初始化顺序不正确可能导致文件系统无法正确挂载。
stormwind123 发表于 2025-8-6 16:36 | 显示全部楼层
可能是卡检测引脚未配置或失效。
stormwind123 发表于 2025-8-6 16:36 | 显示全部楼层
可能是卡检测引脚未配置或失效。
probedog 发表于 2025-8-6 18:37 | 显示全部楼层
SD卡未使用FAT文件系统进行格式化,或者格式化过程中出现错误。
classroom 发表于 2025-8-6 20:37 | 显示全部楼层
SD卡座接触不良?
flycamelaaa 发表于 2025-8-6 21:38 | 显示全部楼层
电源不稳定或电压不足?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

40

主题

40

帖子

0

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

40

主题

40

帖子

0

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