新手入门
- 积分
- 8
- 金钱
- 8
- 注册时间
- 2016-11-11
- 在线时间
- 1 小时
|
3金钱
每10M检测一次ADC的值转化后以追加的方式写入SD,发现速度越来越慢,后面直接没有显示了!!
[mw_shl_code=c,true]
samp_value=adc_ch6*3.6/1024;
len=sprintf(sample_value,"%6.5f\t",samp_value);
printf("%6.5f",samp_value);
printf("\n");
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 不知道怎么用试了好多次没办法 求有经验的知道一下 急!急!急!
|
最佳答案
查看完整内容[请看2#楼]
f_open的第三个参数mode设置的是什么?? 如果设置了FA_OPEN_APPEND,那么对文件的写入就是附加模式,即在文件尾部追加写入内容,这样你就不用使用seek了,每次写入都是在文件尾部附加。
这个直接搜索fatfs找到其官方网站,官网对fatfs的各种api都有详细说明,需要什么功能直接读说明就可以了。
实际上,不管是linux或者windows或者其他系统下的文件系统,大家需要实现的api都差不多,
都要实现open、read、write、flush ...
|