拔下并插入 sdcard 会导致 SDCARD 库函数意外失败。 我怀疑 SDCard 状态会恢复到不使用 SPI 接口的本机行为。 我尝试 使用 sdcard.c 库中的 SDCardLib_unInit()和 SDCarLib_init()函数重新初始化接口,但没有成功。 是否有人遇到了这个问题并获得了解决方案?
例如,当没有拔下/重新拔插 SDCard 时,此代码起作用,但在再次拔下/插入 SDCard 时失败。
//在根目录下创建目录 RC = SDCardLib_creeDirectory (&sdCardLib、"data_log"); 如果(RC =FR_EXISTECT){//FR_EXISTECT 是名称冲突、则对象已存在 //报告成功; } 如果(RC!= FR_OK){ SDCardLib_unInit (&sdCardLib); MODE = 0; //报告失败 返回; } //将时间戳写入日志文件 RC = f_open (&fil、文件名、fa_write | fa_open_existing); 如果(RC){ f_close (&fil); SDCardLib_unInit (&sdCardLib); MODE ="0"; 返回; }