FatFs文件系统:f_sync
冲洗一个写文件的缓存信息。
FRESULT f_sync ( FIL* FileObject /* 文件对象结构的指针 */ );
参数:
FileObject 待冲洗的打开的文件对象的指针。
返回值:
FR_OK (0)函数成功。
FR_DISK_ERR 由于底层磁盘 I/O 函数中的错误,而导致该函数失败。
FR_INT_ERR 由于一个错误的 FAT 结构或一个内部错误,而导致该函数失败。
FR_NOT_READY 由于驱动器中没有存储介质或任何其他原因,而导致磁盘驱动器无法工作。
FR_INVALID_OBJECT 文件对象无效。
描述:
f_sync 函数当_FS_READONLY == 0 时可用。
f_sync 函数和 f_close 函数执行同样的过程,但是文件仍处于打开状态,并且可以继续对文件执行读/写/移动指针操作。这适用于以写模式长时间打开文件,比如数据记录器。定期的或 f_write 后立即执行 f_sync可以将由于突然断电或移去磁盘而导致数据丢失的风险最小化。在 f_close 前立即执行 f_sync 没有作用,因为在 f_close 中执行了 f_sync。换句话说,这两个函数的差异就是文件对象是不是无效的。