FAT文件系统,使用 f_lseek(&s_Fil,0)函数问题

2019-07-20 05:48发布

       STM32F767 用的原子哥的FAT文件系统,使用 f_lseek(&s_Fil,0)函数, 如果第二个参数为0,则TF卡文件的写入速度能达到2.3M ;如果 f_lseek(&s_Fil, 1);第二个参数不为0,则TF卡文件的写入速度瞬间降低到1.5M。不知道有遇到这种情况的没?请各懂得指点一下,非常感谢。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
4条回答
张慎慎
2019-07-20 10:01
本帖最后由 张慎慎 于 2018-9-29 08:45 编辑

我每次开机后都要在同一个文件中写数据,就是在同一个文件的尾部接着写数据。现在的操作流程大致是这样
        f_open(&s_Fil, "0:GATHER_DATA/data.log", FA_WRITE); //打开文件
        file_size = f_size(&s_Fil);                                              //获取文件大小
        f_lseek(&s_Fil, file_size);                                              //偏移到文件尾部(问题:file_size不为0 导致后续写入变慢)
        f_write(&s_Fil, s_WrPtr, data_len, &sucelen);                 //在尾部接着写数据
这样的话,就会导致f_write函数的写入速度降低很多。发现好像没别人遇到过这样的问题,还请原子哥指点一下。

一周热门 更多>