找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2634|回复: 0
打印 上一主题 下一主题
收起左侧

FatFs源码剖析

[复制链接]
跳转到指定楼层
楼主
ID:386130 发表于 2018-8-14 12:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
FatFs历史版本下载:elm-chanorg/fsw/ff/00index_e.html    在官网的最下面,能找到所有版本的下载链接。

源程序如下:
  1. #include "diskio.h"
  2. #include "ff.h"
  3. //#include "tff.h"

  4. //for FatFs R0.01

  5. void main(void)
  6. {
  7.     FATFS fs;            // FatFs work area
  8.     FIL fsrc, fdst;      // file structures
  9.     BYTE fbuff[512*2];   // file r/w buffers (not required for Tiny-FatFs)
  10.     BYTE buffer[4096];   // file copy buffer
  11.     FRESULT res;         // FatFs function common result code
  12.     WORD br, bw;         // File R/W count


  13.     // Activate FatFs module
  14.     memset(&fs, 0, sizeof(FATFS));
  15.     FatFs = &fs;

  16.     // Open source file
  17.     fsrc.buffer = fbuff+0;        // (not required for Tiny-FatFs)
  18.     res = f_open(&fsrc, "/srcfile.dat", FA_OPEN_EXISTING | FA_READ);
  19.     if (res) die(res);

  20.     // Create destination file
  21.     fdst.buffer = fbuff+512;        // (not required for Tiny-FatFs)
  22.     res = f_open(&fdst, "/dstfile.dat", FA_CREATE_ALWAYS | FA_WRITE);
  23.     if (res) die(res);

  24.     // Copy source to destination
  25.     for (;;) {
  26.         res = f_read(&fsrc, buffer, sizeof(buffer), &br);
  27.         if (res) die(res);
  28.         if (br == 0) break;
  29.         res = f_write(&fdst, buffer, br, &bw);
  30.         if (res) die(res);
  31.         if (bw < br) break;
  32.     }

  33.     // Close all files
  34.     f_close(&fsrc);
  35.     f_close(&fdst);

  36.     // Deactivate FatFs module
  37.     FatFs = NULL;
  38. }
复制代码

所有资料51hei提供下载:
FatFs0.01源码中文注释.zip (229.91 KB, 下载次数: 27)


评分

参与人数 2黑币 +55 收起 理由
竹子开花 + 5 赞一个!
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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