стандартная библиотека 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