文件系统f_open执行时间不一样

2019-07-20 13:56发布

小白求助各位大大。
我在移植原子大大的文件系统操作SD卡例程时,进行了如下操作
unsigned char LevelTablePath[]="0:/CH1/00000.bin";
fftemp=(FIL*)mymalloc(SRAMIN,sizeof(FIL));                    //·ÖÅäÄú′æ       
res = f_open(fftemp,(const TCHAR*)LevelTablePath,FA_OPEN_EXISTING|FA_READ);//′ò¿aòѾ-′æÔúμÄÎļt

……(后续省略)
其中路径名是根据程序中的一个变量改变而改变的,实际运行中发现,读取"0:/CH1/010000.bin”和读取"0:/CH1/100000.bin"两个文件时,f_open函数执行时间不一样,请问各位英豪有没有碰到过类似现象?能否帮小弟解惑~
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
5条回答
yinxiangtuo
2019-07-20 21:34
正点原子 发表于 2017-6-14 19:14
这是很正常的事情,SD卡访问时间,是有不确定性的。

谢谢原子大大回答。
我现在如果打开01000.bin这个文件,用时时间一直很短,估计几十ms的样子。但是打开10000.bin文件就是几百ms。
我手上有十张左右不同速度不同厂家的SD卡,其中只有一张SD卡我打开这两个文件的时间是相同的。而这张SD卡同一批次型号的其他SD卡又不行了。现象全部一样,01000.bin很快10000.bin慢了一个量级。
我文件夹内大约有4000多个bin文件。我也尝试过把前面的都删掉只留一个10000.bin,打开该文件还是很慢。
如果是速度不确定导致的,为何固定这个文件名的文件打开就是很慢呢?

一周热门 更多>