integer.h     FATFS的数据类型定义(一般不需要更改,其他的文件都需要引用这个文件的内容)

ffcon.h    FATFS的配置文件,配置项的各个参数都需要在这里修改

一个细致的讲解fatfs文件系统的原理

https://www.cnblogs.com/amanlikethis/p/3793077.html

fatfs(API)函数的使用

FRESULT error;//定义fatfs操作返回结果
    FIL fsrc;   //FIL掌控一个已打开的文件,由f_open()创建,f_close()抛弃
    UINT bytesWritten;
    UINT bytesRead;  
    UINT readBuffer[50];
     error=f_mount(fs[1],"1:",1);                 //挂载FLASH.
    if(!error){
        printf("fs[1] load sd is ok\r\n");
    }else if(error==0X0D){//FLASH磁盘,FAT文件系统错误,重新格式化FLASH
        error=f_mkfs("1:",1,4096);//格式化FLASH,1,盘符;1,不需要引导区,8个扇区为1个簇
        if(error==0){
            printf("Flash Disk Format Finish");    //格式化完成
        }else{
            printf("Flash Disk Format Error ");    //格式化失败
        }
    }else{
        printf("fs[1] load sd err ,the error num is %d\r\n",error);
    }                                                        
#if 0    //这里是txt文件的创立和使用          
                                                      
    error = f_setlabel((const TCHAR *)"1:START");    //设置Flash磁盘的名字为:START
    if(!error){
        printf("set sd's name is ok\r\n");
    }else{
        printf("set sd's name err ,the error num is %d\r\n",error);
    }
    
    
    error = f_mkdir("1:/523");//创立文件夹(创建一次后再次创建会失败)          1:/523  盘符 + 名称        
    if(!error){
        printf("dir create ok\r\n");
    }else{
        printf("dir create err ,the error num is %d\r\n",error);
    }
    
    error = f_open(&fsrc, "1:523.txt",  FA_OPEN_ALWAYS|FA_WRITE|FA_READ  );  //创立txt文件  1:523.txt         FA_OPEN_ALWAYS(打开一个文件,如果不存在就创建该文件)
    if(!error){
        printf("file create ok\r\n");
    }else{
        printf("file create err ,the error num is %d\r\n",error);
    }
    
    error = f_write (&fsrc , "test" , 5 , &bytesWritten); //在 fsrc 文件内写入test字符串
    if(!error){
        printf("write 'test' is ok\r\n");
    }else{
        printf("write 'test' err ,the error num is %d\r\n",error);
    }
    
    error = f_close(&fsrc);    //关闭 fsrc 文件(打开之后必须关闭)
    if(!error){
        printf("close file ok\r\n");
    }else{
        printf("close file err ,the error num is %d\r\n",error);
    }
    
    error = f_open(&fsrc, "1:523.txt",  FA_READ  );  //打开一个可以读取的文件
    if(!error){
        printf("open a text for read is  ok\r\n");
    }else{
        printf("open a text for read err ,the error num is %d\r\n",error);
    }
    
    error = f_read(&fsrc, &readBuffer ,50,   &bytesRead);  //读取一个文件
    if(!error){
        printf("read a text is  ok\r\n");
    }else{
        printf("read a text err ,the error num is %d\r\n",error);
    }
    
    error = f_sync(&fsrc);    //刷新一个缓存
    if(!error){
        printf("crush a text is  ok\r\n");
    }else{
        printf("crush a text err ,the error num is %d\r\n",error);
    }
    
    error = f_rename("1:523.txt","1:524.txt");    //修改一个文件名(oldname  newname--不能跟其他文件名冲突  )
    if(!error){
        printf("rename a text is  ok\r\n");
    }else{
        printf("rename a text err ,the error num is %d\r\n",error);
    }
    
    
    error = f_unlink("1:524.txt");    //删除一个文件
    if(!error){
        printf("delete a text is  ok\r\n");
    }else{
        printf("detele a text err ,the error num is %d\r\n",error);
    }

fatfs系统的移植的更多相关文章

  1. 鸿蒙系统freeModbusTcp移植简介

    freeModebus是工业中常用的一种通信, 在鸿蒙系统来移植 细节查看代码中,博文只是一些参考以及注意点, 参考了 wifi连接: https://harmonyos.51cto.com/post ...

  2. FatFs文件系统的移植

    FatFs 的底层可以写一次命令,读写多个扇区.FatFs的设计的读写的思想就很好,小块的数据,我就经过Buffer来存储,大块的数据,我就直接进行存取,那样速度,效率高了很多,看图: FatFs文件 ...

  3. 【液晶模块系列基础视频】3.1.fatfs文件系统的移植及接口函数的使用

    ============================== 技术论坛:http://www.eeschool.org 博客地址:http://xiaomagee.cnblogs.com 官方网店:h ...

  4. Android系统如何移植wpa_supplicant及wifi驱动

    一.WPA_SUPPLICANT简介 1. 什么是wpa_supplicant wpa_supplicant is a WPA Supplicant for Linux, BSD, Mac OS X, ...

  5. STM32下FatFs的移植,实现了坏块管理,硬件ECC,ECC纠错,并进行擦写均衡分析

    最近因项目需要,做一个数据采集的单片机平台.需要移植 FatFs .现在把最后成果贴上来. 1.摘要 在 STM32 单片机上,成功移植 FatFs 0.12b,使用的 Nand Flash 芯片为 ...

  6. FATFS文件系统

    STM32移植文件系统,操作SD卡,对SD卡进行读写 FATFS文件系统与底层介质的驱动分离开来,对底层介质的操作都要交给用户去实现,它仅仅是提供了一个函数接口而已,函数为空,要用户添加代码.然后 F ...

  7. 玩转X-CTR100 l STM32F4 l SD卡FatFs文件系统

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] X-CTR100控制器具有SD卡接口,本教程使用免费 ...

  8. STM32平台SD卡的FatFS文件系统开发

    STM32平台SD卡的FatFS文件系统开发 系统平台: STM32系列的STM32F103ZE SPI方式与SD卡通信 SD上移植FatFS系统 1 FatFS文件系统 1.1 FatFS简介 Fa ...

  9. 第25章 串行FLASH文件系统FatFs

    25.1  文件系统 即使读者可能不了解文件系统,读者也一定对“文件”这个概念十分熟悉.数据在PC上是以文件的形式储存在磁盘中的,这些数据的形式一般为ASCII码或二进制形式.在上一章我们已经写好了Q ...

随机推荐

  1. Go -- client 302 自动转 200 问题 cookie存储 模拟登陆问题

    不久前用go写了个http client,去模拟某网站(*.com)的登录操作.网站的登录逻辑:1.验证登录账号和密码:2.下发token.此token通过cookie下发:3.redirect到主页 ...

  2. Java上传视频(mencoder)

    页面: 上传文件时的关键词:enctype="multipart/form-data" <%@ page language="java" import=& ...

  3. useEffect代替常用生命周期函数(三)

    在用Class制作组件时,经常会用生命周期函数,来处理一些额外的事情(副作用:和函数业务主逻辑关联不大,特定时间或事件中执行的动作,比如Ajax请求后端数据,添加登录监听和取消登录,手动修改DOM等等 ...

  4. 【maven】在pom.xml中引入对json-lib的依赖dependency

    <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</art ...

  5. XML 中的 xmlns 等属性的意义

    原文:https://blog.csdn.net/lengxiao1993/article/details/77914155 Maven 是一个 java 开发人员很难绕过的构建工具, 因为有众多的开 ...

  6. 000 基于Spring boot发送邮件

    发送邮件的程序,使用QQ的服务器,经过测试,完全可行.可复现 一:准备工作 1.找到账号的授权码 这个是程序需要使用的. 在设置中查找. 2.新建项目的目录 二:完整的程序代码 1.pom.xml & ...

  7. Leetcode: Campus Bikes II

    On a campus represented as a 2D grid, there are N workers and M bikes, with N <= M. Each worker a ...

  8. 【php】PHP制作QQ微信支付宝三合一收款码

    分析 微信扫这个,支付宝扫那个,不仅要加载多张二维码,还要加css/js让它变的好看,作为一个又懒又不想写这些东西的程序猿来说,这可不行. 那能不能把QQ微信支付宝三合一,只需要扫一个收款码就行呢? ...

  9. Flink assignAscendingTimestamps 生成水印的三个重载方法

    先简单介绍一下Timestamp 和Watermark 的概念: 1. Timestamp和Watermark都是基于事件的时间字段生成的 2. Timestamp和Watermark是两个不同的东西 ...

  10. Android Butterknife使用方法总结 IOC框架

    前言: ButterKnife是一个专注于Android系统的View注入框架,以前总是要写很多findViewById来找到View对象,有了ButterKnife可以很轻松的省去这些步骤.是大神J ...