OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2564|回复: 1

FATFS文件系统的快速查找参数怎么设置

[复制链接]

28

主题

150

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
488
金钱
488
注册时间
2016-9-29
在线时间
113 小时
发表于 2018-8-4 18:39:54 | 显示全部楼层 |阅读模式
10金钱
本帖最后由 ZDawn 于 2018-8-4 18:45 编辑

最近学习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 */
    ...


    res = f_lseek(fp, ofs2);               /* This is fast seek */







正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2018-8-5 01:37:11 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-13 07:31

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表