Есть ли способ снять ограничение имени файла 8.3 в библиотеке SD.h?

Мне нужно иметь возможность создавать на SD-карте текстовые файлы с именами, длина которых превышает 8 символов (в настоящее время SD.h ограничивает меня этим). Можно было бы перейти на библиотеку SDFat, но прежде чем рассматривать этот вариант, есть ли способ просто снять ограничение на SD.h (поскольку мой код уже реализует старый добрый SD.h)? Как лучше всего решить эту проблему?

, 👍0


1 ответ


Лучший ответ:

1

"Ограничение" 8.3 не является "ограничением", которое можно снять. Так работают файловые системы FAT. Более длинные имена файлов — это «выдуманное» расширение, наложенное поверх этой структуры файлового ствола. Чтобы иметь возможность использовать их, вам необходимо реализовать это расширение.

Проще перейти на более современную реализацию. FatFS — ваш друг:

  • Поддержка LFN, включая UTF
  • Быстрый доступ к устройствам
  • Более эффективно
  • Поддерживает больше устройств, чем просто SD-карты.
  • Может работать с несколькими устройствами одновременно

Есть реализация здесь, хотя я не знаю, насколько она хороша (я использую ее на chipKIT, где она входит в комплект по умолчанию).

Если вы не можете получить файлы FatF, то, если честно, что угодно лучше, чем библиотека SD.

,

А как насчет библиотеки SDFat? Это лучше, чем FatFS? Моя цель состоит в том, чтобы не занимать слишком много флэш-памяти., @JingleBells

Я не использовал его. Но как я уже упоминал - всяко лучше, чем SD.h. Если он у вас есть / вы можете легко его получить, используйте его., @Majenko