stm32cubemx 使用SD卡搭载Fatfs文件系统
其他配置与SD卡的一样,点开Fatfs的配置
在Locale and Namespace Parameters 改前两个就行
然后在Platform Setting里面随便把一个引脚设置成input,如果你的sd卡检测引脚接到了mcu上就填那个引脚就行。因为我用的野火指南者开发板没有,对于这种没有的情况一会还要在代码里改一个地方。
其他的都跟sd卡的一样了。
在bsp_sd卡里面这样改,当然弱函数你也可以重新写。
__weak uint8_t BSP_SD_IsDetected(void)
{
__IO uint8_t status = SD_PRESENT;
if (BSP_PlatformIsDetected() == 0x0)
{
status = SD_NOT_PRESENT;
}
//wo
return 1;
}
在while前面
f_res = f_mount(&SDFatFS,(TCHAR const*)SDPath,1);
printf_fatfs_error(f_res);
f_res = f_open(&SDFile,"sd test.txt",FA_WRITE|FA_CREATE_ALWAYS);
printf_fatfs_error(f_res);
// f_res=f_mkfs((TCHAR const*)SDPath,0,0);
// printf_fatfs_error(f_res);
// f_res = f_mount(&SDFatFS,(TCHAR const*)SDPath,1);
// printf_fatfs_error(f_res);
f_close(&SDFile);
f_res = f_mount(NULL,(TCHAR const*)SDPath,1);
FATFS_UnLinkDriver(SDPath);
printf_fatfs_error(f_res);
注释的代码看到没,第一次记得格式化。
这里的printf_fatfs_error是野火的debug函数,,可以删掉。