每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 不知道怎么用试了好多次没办法 求有经验的知道一下 急!急!急!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
如果出现异常数据,那就通读一下FsFat,看下有没有哪里强制要求字节对齐,或者SDIO驱动里有没有问题,SDIO有没有文件打开数量限制等等。
按道理,用几个串口存到几个文件里不是出现数据异常的原因,因为FsFat或者SDIO的驱动连这个都解决不好的话,根本就不会发布的。
自己那部分代码也再仔细检查一下(可能性比较大),任何一个细节都不要放过,如果有可能,多做做codereview,容易发现问题
一周热门 更多>