стандартная библиотека SD. Написание полного имени файла с sd

mwklim
Offline
Зарегистрирован: 26.10.2015

Всем привет, я использую стандартну библиотеку 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();
   }
}

 

 
 
Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

Ничего.

Работа идёт с именами файлов в DOS-формате(8.3 - 8 знаков на имя и 3 на расширение) Если знаков больше, то они заменяются ~ и кол-вом не влезших букофф.

maksim
Offline
Зарегистрирован: 12.02.2012

Если точнее, 8.3 это формат имен файловой системы FAT16, а ~1 - это порядковый номер файла с одинаковым началом в имени.

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

Спасибо, запомню)

Radjah
Offline
Зарегистрирован: 06.08.2014

Выбросить SD, перейти на SdFat.

mwklim
Offline
Зарегистрирован: 26.10.2015

В чем отличия от стандартной библиотеки? 

Radjah
Offline
Зарегистрирован: 06.08.2014

Readme не читай

            @

Вопрос задавай

https://github.com/greiman/SdFat/blob/master/readme.txt