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 );

}

 

posted on 2021-11-17 10:20  所长  阅读(4902)  评论(0编辑  收藏  举报

导航