若想创建中文名称的文件名,写入中文数据的话,需要将ffconf.h文件中FF_CODE_PAGE的值修改为936。 如果在调用FatFs文件系统的函数创建文件时跳转到HardFault_Handler硬件错误中断中的情况,是因为栈空间不足导致,将启动文件中Stack_Size的值修改大一些即可。 结语 本文对FatFs文件系统进行了简要介绍,并实现了FatFs文件系统...
void exf_close(void); FRESULT exf_format(BYTE sfd, UINT au); uint32_t exf_get_open_file_size(void); FRESULT exf_scan_files (char* path); extern FILINFO USERFileInfo; //文件信息 extern DIR USERDir; //目录 #endif 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15...
DWORD au_size:以字节为单位指定分配单元(簇)的大小。对于 FAT/FAT32 卷,有效值为扇区大小和 128 * 扇区大小(包括在内)之间的 2 的幂,或者对于 exFAT 卷,最大为 16 MB。如果给出零(默认值)或任何无效值,则该函数使用默认分配单元大小,具体取决于卷大小。 UINT n_root:指定 FAT 卷上的根目录条目数。...
格式化成功后需要先取消挂载原来设备,再重新挂载设备。 FRESULT f_mkfs (constTCHAR* path,/*Logical drive number*/BYTE sfd,/*Partitioning rule 0:FDISK, 1:SFD*/UINT au/*Size of allocation unit in unit of byte or sector*/) 在设备正常挂载后,就可以进行文件读写操作了。使用文件之前,必须使用 f_...
FRESULTf_mkfs(constTCHAR*path,BYTEsfd,UINTau);参数-->path:逻辑设备编号,使用设备根路径表示sfd:0或1,0表示为硬盘设备;1表示为软盘设备au:指定扇区大小,若为0表示通过disk_ioctl函数获取 f_open:创建/打开一个文件对象 FRESULTf_open(FIL*fp,constTCHAR*path,BYTEmode);参数-->fp:将创建或打开的文件对象...
au:指定扇区大小,若为0表示通过disk_ioctl函数获取 1. 2. 3. 4. f_open:创建/打开一个文件对象 FRESULT f_open(FIL* fp, const TCHAR* path, BYTE mode); 参数--> fp:将创建或打开的文件对象指针 path:文件名指针,指定将创建或打开的文件名(包含文件类型后缀名) ...
au,指定分配单元大小,分配单元大小(单位:字节)。有效值是扇区(SD卡块大小)的au倍。设置为0表示分配单元大小取决于卷大小。 work,指向用于格式化进程的工作缓冲区的指针。当给定一个空指针时函数为工作缓冲区分配一块堆空间,此时设置len没有作用。在第一部分定义了work字符数组,在这里用作工作缓冲区。 len,工作缓冲...
GET_BLOCK_SIZE:以扇区为单位获取擦除块的大小。在用f_mkfs()格式化文件系统时,用来使数据区对齐到擦除块。例如,第一个擦除块往往用来保存系统信息等,真正的数据在第二个擦除块位置开始存放。该命令并不重要,可直接返回1表明1个扇区对齐。此处与原作者移植例程保持一致,对sd2.0版本卡,返回AU(可分配单元)的大小...
FRESULTf_mkfs(constTCHAR*path,/* Logical drive number */BYTEopt,/* Format option */DWORDau,/* Size of allocation unit [byte] */void*work,/* Pointer to working buffer */UINTlen/* Size of working buffer */) 函数f_mkfs的功能是创建文件系统,在任何介质第一次使用的时候都要使用该函数。
FRESULT f_mkfs(const TCHAR* path, BYTE opt, DWORD au, void* work, UINT len) /*获取卷上的可用空间*/ FRESULT f_getfree(const TCHAR* path, DWORD* nclst, FatFs** FatFs) /*打开/创建文件*/ FRESULT f_open(FIL* fp, const TCHAR* path, BYTE mode) /*写入一个字符串*/ int f_puts(...