首页 > 其他分享 >fatfs文件系统读取剩余空间实例解析

fatfs文件系统读取剩余空间实例解析

时间:2024-04-12 18:45:31浏览次数:40  
标签:剩余 getfree 读取 fre 文件系统 tot pfs fatfs size

一 前记

 文件系统读取剩余内存空间并显示是一个常用的功能。这个函数是:

FRESULT f_getfree (const TCHAR* path, DWORD* nclst, FATFS** fatfs); /* Get number of free clusters on the drive */

第一个入参是文件路径,第二个参数剩余空间的指针,第三个参数是文件名。

二 实例解析

下面看一下实例解析:

void get_fafts_info(void)
{
    
    FATFS *pfs = &SDFatFS;


    DWORD fre_clust, fre_size, tot_size;
    
    uint8_t result = f_getfree(simulate_filename, &fre_clust, &pfs );
    
    if( result == FR_OK )
    {
        // 总容量计算方法
        // pfs->csize 该参数代表一个簇占用几个 SD卡物理扇区,每个扇区512字节
        // pfs->n_fatent 簇的数量+2
        // 总容量 = 总簇数*一个簇占用大小
        // 剩余容量 = 剩余簇数*一个簇占用大小
        tot_size = (pfs->n_fatent - 2) * pfs->csize/2; // 总容量    单位Kbyte
        fre_size = fre_clust * pfs->csize/2;           // 可用容量  单位Kbyte

        mprintf("f_getfree sd tot_sect: %lu Mbytes\r\n", tot_size/1024 );
        mprintf("f_getfree sd fre_sect: %lu Mbytes\r\n", fre_size/1024 );
        
    }
    else
    {
        mprintf("f_getfree err : %d \r\n", result);

    }

}

 

三 总结

 这个代码是验证ok了。后面继续深入的分析其他功能。

 

标签:剩余,getfree,读取,fre,文件系统,tot,pfs,fatfs,size
From: https://www.cnblogs.com/dylancao/p/18131916

相关文章

  • centos 7 新增数据盘,lvm分区,xfs文件系统 永久挂载
    centos7新增数据盘,lvm分区,xfs文件系统永久挂载步骤1:连接数据盘将新的数据盘连接到你的CentOS7服务器上。确认系统已经检测到了新的磁盘,你可以使用lsblk命令查看 步骤2:创建物理卷(PhysicalVolume)使用fdisk或parted工具对新磁盘进行分区。 使用pvcreate......
  • EasyExcel读取Excel数据(含多种方式)
    目录EasyExcel简介使用EasyExcel进行读数据引入依赖:EasyExcel提供了两种读取模式使用监听器读取模式1.创建一个实体类2.创建监听器代码使用同步读读取模式1.创建一个实体类2.代码添加导入数据库的逻辑其实官方文档讲得很清楚,可以看官方文档官网:关于Easyexcel|......
  • 如何使用 Grafana 监控文件系统状态
    当JuiceFS文件系统部署完成并投入生产环境,接下来就需要着手解决一个非常重要的问题——如何实时监控它的运行状态?毕竟,它可能正在为关键的业务应用或容器工作负载提供持久化存储支持,任何小小的故障或性能下降都可能造成不利的影响。JuiceFS启动后会实时发布自身的运行状态数......
  • Java从外部配置文件读取参数
    1.pom.xml<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://mav......
  • 继上期讲述MATLAB如何读取音频文件,这期讲述如何实现播放读取的音频文件并可以随时停止
    1.右击上期保存的GUI界面(.fig格式文件),点击“在GUIDE中打开“,如下图所示:2.然后按照上期绘制按钮操作,绘制出下图所示的GUI界面:3.再分别右击播放音频按钮和停止播放按钮,按照上期教学,输入各按钮所相对应的代码 ,播放音频按钮的代码是:globalyfs%定义全局变量sound(y,fs);......
  • Java程序中两种配置文件(xml和properties)的加载读取方法
    ​ Java程序中,经常需要从配置文件中加载并读取设置,以支持不同的配置环境和参数。最常用的配置文件格式是XML和properties。两种方法都非常基础,适合于简单的配置文件读取需求。对于更复杂的需求,可能需要更高级的解析技术或第三方库。参考文档:Java程序中两种配置文件(xml和prope......
  • WPF 读取和存储RichTextBox的文档内容
    在编辑RichTextBox内容时,我们看不到其文档的源码内容,因为我们没有像在Web开发中那样有浏览器自带的翻译功能可以使用(相关内容http://blog.sina.com.cn/s/blog_685790700100l61i.html)。将会用到两个对象 System.Windows.Markup命名空间下的XamlWriter对象和XamlReader对象。htt......
  • Rust 标准库 API 文件和文件夹操作 File,读取/创建/修改/追加/删除/重命名文件等
    File::create使用File的关联函数(类似Java中的静态方法)create,创建文件,如果存在,则覆盖。usestd::fs::{File,Metadata};fnmain()->std::io::Result<()>{letfile:File=File::create("foo.txt")?;letmetadata:Metadata=file.metadata()?;println!......
  • COP4600 文件系统实现细节
    P3:文件系统概述你在蜥蜴军团的掩护被揭穿了,你被揭露为双重间谍并被驱逐出去!是的都很“詹姆斯·邦德”,如果你自己这么说的话,那是多么大胆的地下直升机逃生……但是你感到很幸运能带着你的皮肤逃脱。(从字面上看……他们会用你做一套“人体服”!)现在你又回到了“外部”,你的任务是创建......
  • 磁盘管理与文件系统
    一、硬盘的物理结构硬盘的分类:1.机械硬盘:靠磁头转到找数据  慢 便宜2.固态硬盘:靠芯片去找数据 快 贵1.1磁盘的硬件架构扇区:一个扇区512字节,是磁盘的最小单位磁道:同一盘片不同半径的同心圆柱面:不同盘片相同半径构成的圆(柱面和磁道数量相同)公式去算你磁盘的......