FATFS执行f_close(),消耗时间很长。

2019-07-20 18:16发布

如题,请教各位坛友,使用FATFS执行f_close()时需要消耗很长时间,测试大概需要75ms左右。大家有没有优化的方法?
@正点原子

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
mack13013
1楼-- · 2019-07-20 18:28
一棵葱 发表于 2016-12-8 17:06
测试过f_sync();消耗的时间差不多。我用的是W25Q64,如果用SD卡能不能好一些?

实际上f_close()内部是先执行一次f_sync()的,

二楼实际的意思是:如果文件是被多次写入,最后才f_close()的,那么在每次写入之后执行一次f_sync(),这样,在f_close()的时候,同步的数据就不会很多,可能会关闭快一些。

但是,同样的,如果是使用慢的存储器,比如4楼说的W25什么的,那无论怎么优化也没法快起来的
aozima
2楼-- · 2019-07-20 19:54
 精彩回答 2  元偷偷看……
一棵葱
3楼-- · 2019-07-20 20:40
aozima 发表于 2016-12-8 16:46
close()时会把缓存的数据真正写入,并同步FAT表。

可以在close()前执行sync,这样close会快些,但总时间 ...

测试过f_sync();消耗的时间差不多。我用的是W25Q64,如果用SD卡能不能好一些?
taizonglai
4楼-- · 2019-07-20 22:00
 精彩回答 2  元偷偷看……

一周热门 更多>