FATFS 获取 文件系统总空间 和 剩余空间 容量 方法


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

    DWORD fre_clust, fre_size, tot_size;
    
    uint8_t result = f_getfree( disk_symbol, &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

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

}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM