sd文件挂载FAT32 FR_NO_FILESYSTEM

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);
 }