STM32 SD卡拔插后FatFs挂载失败可能原因
使用STM32CubeMX生成SD-FatFs代码,SD卡拔插后挂载失败可能原因:没有再调用底层初始化函数BSP_SD_Init()进行SD卡初始化。
程序调用f_mount()挂载系统时:
f_mount()->find_volume()->disk_initialize():
调用BSP_SD_Init()开启底层初始化, 将初始化标志置一:disk.is_initialized[pdrv] = 1;
此时再调用f_mount()时不会再进行底层初始化,需要断开连接FATFS_UnLinkDriver("0:")一下再调用f_mount()才会继续调用BSP_SD_Init()开启底层通信。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/Gandalf94/article/details/107710329