最近学习FATFS时,发现f_lseek()函数想要设置快速查找的话,除了在头文件定义 #define _USE_FASTSEEK 1
还需要先运行一段代码才行,于是在FATFS官网找到关于f_lseek()函数的快速查找设置代码如下,但是官网并没有说明红色字体的SZ_TBL参数应该怎么设置。
我试过随便设置几个数值,结果导致使用f_read()函数的时候导致读取SD卡的内容有差异,有时候甚至导致f_read()函数跑飞,所以这里请教各位这个SZ_TBL参数具体是按什么规则选取的?
/* Using fast seek function */
DWORD clmt[SZ_TBL]; /* Cluster link map table buffer */
res = f_open(fp, fname, FA_READ | FA_WRITE); /* Open a file */
res = f_lseek(fp, ofs1); /* This is normal seek (cltbl is nulled on file open) */
fp->cltbl = clmt; /* Enable fast seek function (cltbl != NULL) */
clmt[0] = SZ_TBL; /* Set table size */
res = f_lseek(fp, CREATE_LINKMAP); /* Create CLMT */
...