стандартная библиотека SD. Написание полного имени файла с sd
- Войдите на сайт для отправки комментариев
Ср, 04/11/2015 - 20:17
Всем привет, я использую стандартну библиотеку SD и столкнулся с такой проблемой: я взял образец с этой библиотеки (listfiles), он мне в com вывел все, что находится на флешке, НО в таком формате:
LIBRAR~1.PRO 436
README~1.ADO 898
EXAMPLES/
CARDINFO/
CARDINFO.INO 3217
Некоторые файлы он прописывает не полностью, ставя после 6 букв "~1", что сделать, чтобы он выводил полное имя файла?
#include <SPI.h> #include <SD.h> File root; void setup() { Serial.begin(9600); Serial.print("Initializing SD card..."); if (!SD.begin(10)) { Serial.println("initialization failed!"); return; } Serial.println("initialization done."); root = SD.open("/"); printDirectory(root, 0); Serial.println("done!"); } void loop() { } void printDirectory(File dir, int numTabs) { while(true) { File entry = dir.openNextFile(); if (! entry) { break; } for (uint8_t i=0; i<numTabs; i++) { Serial.print('\t'); } Serial.print(entry.name()); if (entry.isDirectory()) { Serial.println("/"); printDirectory(entry, numTabs+1); } else { Serial.print("\t\t"); Serial.println(entry.size(), DEC); } entry.close(); } }
Ничего.
Работа идёт с именами файлов в DOS-формате(8.3 - 8 знаков на имя и 3 на расширение) Если знаков больше, то они заменяются ~ и кол-вом не влезших букофф.
Если точнее, 8.3 это формат имен файловой системы FAT16, а ~1 - это порядковый номер файла с одинаковым началом в имени.
Спасибо, запомню)
Выбросить SD, перейти на SdFat.
В чем отличия от стандартной библиотеки?
Readme не читай
@
Вопрос задавай
https://github.com/greiman/SdFat/blob/master/readme.txt