• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

FAT文件系统,使用 f_lseek(&s_Fil,0)函数

Key一哥 2018-09-29 浏览量:4160
STM32F767 用的原子哥的FAT文件系统,使用 f_lseek(&s_Fil0)函数, 如果第二个参数为0,则TF卡文件的写入速度能达到2.3M ;如果 f_lseek(&s_Fil 1);第二个参数不为0,则TF卡文件的写入速度瞬间降低到1.5M。不知道有遇到这种情况的没?请各懂得指点一下,非常感谢。
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 这是一个偏移函数哦,不是用来写入数据的啊
    • 发布于 2018-10-12
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:10
  • f_lseek 这个函数主要是定位的,第二个参数是0 就是在当前位置读写, 第二个参数不为0,假如是+/-n, 需要把光标移动到当前位置之后或者之前n个字节。 然后再从光标位置读写。 可能是需要读文件缓存,比较慢。

    文件都是当作流处理的,有缓冲,buffer , 读写当前位置, 当前位置前后的数据都在缓存里,比较快。

    偏移之后,当前的数据要回写保存起来,然后缓存置换,完了再读写,比较慢。大概就是这样的机制吧,单片机没这么复杂,不多也是有这样的问题。

    • 发布于2018-09-29
    • 举报
    • 评论 0
    • 2
    • 0

  • 第二个参数只是一个 文件字节偏移,当指定 文件字节偏移时,将进行计算文字写入与读取的地址的,所以,要慢一些。
    • 发布于2018-09-29
    • 举报
    • 评论 0
    • 0
    • 0

  • fseek第二个参数为文件打开之后读取内容的偏移量,那么很显然,不偏移读取会比偏移后读取快得多。

    • 发布于2018-09-29
    • 举报
    • 评论 0
    • 0
    • 0

  • 第二个参数是一个对应的读取内容的偏移量,偏移后读取速度要慢很多
    • 发布于2018-09-30
    • 举报
    • 评论 0
    • 0
    • 0

  • 第二个是字节偏移所以写入时间比较慢
    • 发布于2018-10-01
    • 举报
    • 评论 0
    • 0
    • 0

  • flseek是定位一个文件,如果后面那个参数为0,则是直接将光标移到当前的位置,如果不为0,则是移到当前位置在加一个偏移的位置,相当于要开一个缓冲区存放文件部分的内容,这需要消耗时间
    • 发布于2018-10-02
    • 举报
    • 评论 0
    • 0
    • 0

  • 第二个是一个对应的文件系统偏移参数,如果设置比较大的参数会影响你的读取速度
    • 发布于2018-10-12
    • 举报
    • 评论 0
    • 0
    • 0

  • f_lseek使用了定位文件位置的,不是用来写入文件的。
    • 发布于2018-10-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个参数是对你的地址进行偏移的,最好不要用这个参数
    • 发布于2018-10-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 用来对你的地址进行偏移的参数,一般都不会使用
    • 发布于2018-11-11
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

FAT文件系统,使用 f_lseek(&s_Fil,0)函数