Библиотека FatFS: коды возврата из функций Печать
Добавил(а) microsin   

FatFs API устроено так, что большинство функций возвращают общие коды возврата, которые заданы в типе enum. Когда функция завершилась успешно, она возвращает 0, иначе значение, не равное нулю, которое показывает тип произошедшей ошибки.

FR_OK (0)
Этот код означает успешное завершение функции.
FR_DISK_ERR
Произошла невосстановимая ошибка на низком уровне (функции I/O диска).
FR_INT_ERR
Ошибка Assert. Внутри процесса что-то пошло не так. Возможны следующие варианты.
  • Любая ошибка структуры FAT на томе.
  • Рабочая область (file system object, file object или что-то подобное) испорчена из-за переполнения стека или другого приложения. Эта причина ошибки бывает чаще всего.
FR_NOT_READY
Драйв диска не может работать из-за некорректного извлечения носителя или ошибки функции disk_initialize.
FR_NO_FILE
Файл не найден.
FR_NO_PATH
Не найден путь.
FR_INVALID_NAME
Указанная строка содержит недопустимое имя пути (path name).
FR_DENIED
Требуемый доступ был отклонен по одной из следующих причин:
  • Открытие файла в режиме записи, когда файл имеет атрибут read-only (только чтение).
  • Удаление файла или директории, которые имеют атрибут read-only.
  • Удаление непустой директории или текущей директории.
  • Чтение файла, открытого без флага FA_READ.
  • Любая модификация файла, открытого без флага FA_WRITE.
  • Невозможно создать файл или директорию из-за того, что таблица директорий переполнена.
  • Невозможно создать директорию из-за того, что том переполнен.
FR_EXIST
Уже есть любой объект (файл или папка) с таким же именем.
FR_INVALID_OBJECT
Предоставленная структура объекта файла/директории ошибочна.
FR_WRITE_PROTECTED
Любое действие записи произведено на защищенном от записи носителе данных (write-protected media).
FR_INVALID_DRIVE
Указан недопустимый номер драйва (диска). См. также опцию _VOLUMES.
FR_NOT_ENABLED
Рабочая область логического диска не зарегистрирована вызовом функции f_mount.
FR_NO_FILESYSTEM
На диске нет допустимого тома с файловой системой FAT.
FR_MKFS_ABORTED
Функция f_mkfs была остановлена (aborted) перед началом форматирования по одной из следующих причин:
  • Размер диска слишком мал.
  • Нет допустимого размера кластера для этого диска. Это может произойти, когда количество кластеров становится близким к значению 0xFF7 и 0xFFF7.
FR_TIMEOUT
Функция остановлена из-за таймаута в безопасном управлении потоками (thread-safe control). См. также опцию _TIMEOUT.
FR_LOCKED
Доступ к файлу отклонен управлением совместного доступа к файлу (file sharing control). См. также опцию _FS_SHARE.
FR_NOT_ENOUGH_CORE
Недостаточно памяти для выполнения операции. Это произошло по следующим причинам:
  • Нельзя выделить память для рабочего буфера LFN (Long File Name, длинное имя файла). См. также опцию _USE_LFN.
  • Указанный размер таблицы недостаточен.
FR_TOO_MANY_OPEN_FILES
Количество открытых файлов достигло максимального значения и больше файлов открыть нельзя. См. также опцию _FS_SHARE.
FR_INVALID_PARAMETER
Указанный параметр недопустим или в параметре имеется любое несоответствие.

[Ссылки]

1. Return Code of the File Functions - коды возврата функций библиотеки FatFS (оригинал статьи на английском языке).