[stm32][FATFS]正在写文件时掉电,导致文件系统错误
Posted mraaron
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[stm32][FATFS]正在写文件时掉电,导致文件系统错误相关的知识,希望对你有一定的参考价值。
阅读官网文档:http://elm-chan.org/fsw/ff/doc/sync.html
Case 1. Normal write sequence Time --> ↓Normal shutdown OwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwC <Power off> Case 2. Without using f_sync() Time --> ↓System crush Owwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww |<--------------- All data written will be lost ------------------>| Case 3. Using f_sync() Time --> ↓System crush OwwwwwwwwSwwwwwwwwSwwwwwwwwSwwwwwwwwSwwwwwwwwSwwwwwwwwSwwwwwwwwSwwwww Data after last f_sync will be lost |<->| O - f_open() C - f_close() w - f_write() S - f_sync()
我们要在写之前添加好f_sync函数,将缓存的数据存储下去,有效防止写的数据全部被丢失
以上是关于[stm32][FATFS]正在写文件时掉电,导致文件系统错误的主要内容,如果未能解决你的问题,请参考以下文章
STM32CubeMX学习笔记(27)——FatFs文件系统使用(操作SD卡)
STM32 USB OTG HOST 库挂起尝试使用 FatFs 创建文件