char disk_symbol[4] = "sd"; /* 磁盤號 */ uint32_t f_mkfs_buff[1024]; // 格式化緩沖區
static void fafts_mkfs( void ) { uint8_t result = FR_OK; // 格式化 SD 卡 result = f_mkfs( disk_symbol, // 磁盤號 FM_FAT32, /* 文件系統格式,詳細請搜索: Format options */ 32*1024, // 簇占用字節數 f_mkfs_buff, // 用戶提供的buffer sizeof(f_mkfs_buff) ); // 用戶提供的buffer的大小,以字節為單位 if(result == FR_OK) { log("fatfs f_mkfs sucess!\r\n"); } else log("fatfs f_mkfs error: %d.\r\n", result ); }
注:文件系統里保存一個文件最小占用單位 == 簇;SD卡物理扇區一般是512字節,在文件格式化時,這里傳遞的參數是 簇 占用的 字節數,必須為 物理扇區大小的倍數。