Файловая система micrium получает оставшееся пространство

Мне интересно, есть ли какие-либо встроенные функции для uC/FS, чтобы получить объем памяти, оставшийся на моей SD-карте в формате FAT32.

Большое спасибо.

PS. Я посмотрел вокруг, но, кажется, не смог найти его в руководстве.

1 ответ

Решение

Чтобы получить объем свободного пространства на томе µC/FS, вы используете функцию FSVol_Query() и вычисляете объем свободного пространства, используя данные, возвращаемые в структуре FS_VOL_INFO.

FS_VOL_INFO  vol_info;
CPU_INT64U   size_rem;
FS_ERR       err;

FSVol_Query("sdcard:0:", &vol_info, err);
if (err != FS_ERR_NONE) {
    /* oops, something went wrong, handle error */
}

size_rem = vol_info.VolFreeSecCnt * vol_info.DevSecSize;

Где "sdcard:0:" следует заменить именем тома, для которого вы хотите получить объем свободного места. Эта функция описана в разделе A-7-12 руководства пользователя.

Если вы используете предыдущую (V3.X) версию, проверьте функцию FS_GetVolumeInfo().

Другие вопросы по тегам