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