FATFS文件系统,文件追加的时候发现速度越来越慢,发现可以优化f_lseek 不知道怎么做 求指教???

2019-07-21 01:02发布


每10M检测一次ADC的值转化后以追加的方式写入SD,发现速度越来越慢,后面直接没有显示了!!

[mw_shl_code=c,true]
            samp_value=adc_ch6*3.6/1024;
            len=sprintf(sample_value,"%6.5f ",samp_value);
            printf("%6.5f",samp_value);
            printf(" ");
            
        f_lseek(&file,f_size(&file));
        res=f_write(&file,sample_value,len,&br);
        if(res==0)
        { printf("write ok");}
        f_sync(&file);[/mw_shl_code]

发现是F_lseek函数的时间变长了,所以10ms循环bu够,现在想用快速的seek 不知道怎么用试了好多次没办法 求有经验的知道一下 急!急!急!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
21条回答
俊志俊
1楼-- · 2019-07-23 02:23
mack13013 发表于 2017-5-16 16:22
文件损坏说实话我没遇到过。只要不出现意外掉电情况,即使是被中断强抢了操作,也不会出现文件损坏。

...

请教下载单片机下写文件应该是个什么流程机制呢?我这边有个问题,使用open,sync操作会占用资源,影响串口接收数据,导致串口接收数据丢帧。文件只打开一次,不执行sync,一直write则没有问题,但是问题就来了,我该什么时候sync或close文件 ,实现保存么
talenthn
2楼-- · 2019-07-23 03:24
俊志俊 发表于 2019-3-12 16:38
您的问题解决了么,我这边也有类似的问题,使用open,sync操作会占用资源,影响串口接收数据,导致串口接 ...

我用的时候也不执行sync,这个命令有点问题
talenthn
3楼-- · 2019-07-23 07:01
Bunny17 发表于 2018-8-31 16:09
你好,请问是不是这样改成FA_OPEN_APPEND,就解决了存储速度越来越慢的问题呢

我使用FA_OPEN_APPEND这个命令的时候出错,所以还是使用传统f_lseek方式寻末尾进行添加

一周热门 更多>