Есть ли способ снять ограничение имени файла 8.3 в библиотеке SD.h?
Мне нужно иметь возможность создавать на SD-карте текстовые файлы с именами, длина которых превышает 8 символов (в настоящее время SD.h ограничивает меня этим). Можно было бы перейти на библиотеку SDFat, но прежде чем рассматривать этот вариант, есть ли способ просто снять ограничение на SD.h (поскольку мой код уже реализует старый добрый SD.h)? Как лучше всего решить эту проблему?
@JingleBells, 👍0
1 ответ
Лучший ответ:
"Ограничение" 8.3 не является "ограничением", которое можно снять. Так работают файловые системы FAT. Более длинные имена файлов — это «выдуманное» расширение, наложенное поверх этой структуры файлового ствола. Чтобы иметь возможность использовать их, вам необходимо реализовать это расширение.
Проще перейти на более современную реализацию. FatFS — ваш друг:
- Поддержка LFN, включая UTF
- Быстрый доступ к устройствам
- Более эффективно
- Поддерживает больше устройств, чем просто SD-карты.
- Может работать с несколькими устройствами одновременно
Есть реализация здесь, хотя я не знаю, насколько она хороша (я использую ее на chipKIT, где она входит в комплект по умолчанию).
Если вы не можете получить файлы FatF, то, если честно, что угодно лучше, чем библиотека SD.
- Редактирование определенной позиции в файле, хранящемся на SD-карте
- Arduino SD подсчитывает файлы и открывает их последним, как это сделать?
- DFPlayer для записи на SD-карту
- Как **получить** атрибуты для файлов SD?
- Попытка сохранить файлы .wav с новым именем в каждом цикле.
- SD - карта создает "лишний" файл?
- Arduino не записывает полное предложение NMEA в файл SD-карты
- Возврат в родительский каталог с библиотекой SD
А как насчет библиотеки SDFat? Это лучше, чем FatFS? Моя цель состоит в том, чтобы не занимать слишком много флэш-памяти., @JingleBells
Я не использовал его. Но как я уже упоминал - всяко лучше, чем SD.h. Если он у вас есть / вы можете легко его получить, используйте его., @Majenko