1.f_mkfs参数
参数path:要挂载/卸载的逻辑驱动器号;使用设备根路径表示。
参数opt:系统的格式,如图所示,若需要格式化为FAT32文件系统,则选择FM_FAT32即可。若需要格式化为exFAT文件系统,则应该开将宏定义#define _FS_EXFAT 1设置为1之后再选择FM_EXFAT。
参数au:每簇的字节数,以字节为单位,分配的最小单元,必须是512的倍数。当设置为512时,则每簇的字节数为512,则当新建一个低于512个字节的文件时,则文件占用512个字节,当设置为4096时,则当文件低于4096个字节时,则文件占用4096个字节,该值越大,读写大文件越快,但是碎片和存储空间的浪费也就越多。
参数work:为f_mkfs函数执行格式化时需要的缓存,至少应该是每个sector的大小,FAT32中每个扇区为512个字节
参数len:表示work缓存的长度。例如当设置为1024时,则work中引入的缓存空间也应该是1024个字节
例如:res = f_mkfs(“0:”, FM_FAT32, 4096, bpData, 1024);格式化为FAT32文件系统,每簇的大小为4096个字节,即最小的单元为4096,bpData指针中包含的长度应为1024个字节。
res = f_mkfs(“0:”, FM_FAT32, 512, bpData, 512);格式化为FAT32文件系统,每簇的大小为512个字节,即最小的单元为512,bpData指针中包含的长度应为512个字节。
res = f_mkfs(“0:”, FM_EXFAT, 4096, bpData, 1024);格式化为exFAT文件系统,每簇的大小为4096个字节,即最小的单元为4096,bpData指针中包含的长度应为1024个字节。
2.f_mkfs函数中的变量n_fats=1,表示FAT的表项个数,默认FAT32文件系统中,此值为1,当值为1时,使用f_mkfs格式化SD卡后,FAT的表项只有一个,当此值为2时,则格式化之后会有两个表项,FAT1和FAT2,FAT1为主表项,FAT2为备份表项。
3.特别注意,当使用f_mkfs函数格式化磁盘时,不需要先挂载(f_mount),因为当磁盘存在错误的时候,是挂载不成功,直接调用f_mkfs函数即可。