sd文件挂载FAT32时使用f_mount(); 出现错误13—— FR_NO_FILESYSTEM
void TestSD(void)
{
FIL file;
// f_mkfs("0:",FM_FAT32,500,buffer1,500);
// TF_PeripheralInit();
f_res = f_mount(&SD,"0",1); //sd卡挂载到fatfs上
if(f_res == FR_OK)
printf("SD mount OK!\r\n");
else printf("SD mount error = %d\r\n",f_res);
// CreateFile();
f_res = f_open(&file,"0:test1.txt",FA_WRITE|FA_OPEN_ALWAYS);
if(f_res == FR_OK) printf("'test.txt' Open OK!\r\n");
else printf("'test3.txt' Open error = %d\r\n",f_res);
// count++;
// Value_Refresh();
for(int i=0;i<half_buffer_size;i++)
{
AD_DMA_buffer11[i]=(float)(MY_palue_Buffer[i]*3.3/4096);
}
for(int i=0;i<half_buffer_size;i++)
{
sprintf((char*)&buffer1[i],"%1.5f",AD_DMA_buffer11[i]);
f_res = f_write(&file,buffer1,(sizeof(buffer1)-1),&ByteWrite);
f_write(&file,"\r\n",1,&ByteWrite);
// ContinueFile();
f_res = f_lseek(&file,f_size(&file));
}
// CloseFile();
f_res = f_close(&file);
if(f_res == FR_OK) printf("'test.txt' Close OK!\r\n");
else printf("'test.txt' Close error = %d\r\n",f_res);
// TF_PeripheralDeInit();
f_res = f_mount(NULL,"0:",1);
if(f_res == FR_OK) printf("SD unmount OK!\r\n");
else printf("SD unmount error = %d\r\n",f_res);
printf("\r\n");
}
/* 如果没有文件系统就格式化创建创建文件系统 */
if(f_res == FR_NO_FILESYSTEM)
{
printf("》SD卡还没有文件系统,即将进行格式化...\r\n");
/* 格式化 */
f_res=f_mkfs((TCHAR const*)SDPath,0,0);
}
if(f_res == FR_OK)
{
printf("》SD卡已成功格式化文件系统。\r\n"); /* 格式化后,先取消挂载 */
f_res = f_mount(NULL,(TCHAR const*)SDPath,1); /* 重新挂载 */
f_res = f_mount(&fs,(TCHAR const*)SDPath,1);
}