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