библиотека для работы с сд картой - SdFat

fsdb
Offline
Зарегистрирован: 24.10.2015

dirFile.open("/", O_READ);
 n = 0;
 Serial.println(n);
 Serial.println(nMax);
 
 while (n < nMax && file.openNext(&dirFile, O_READ)) {

    // Skip directories and hidden files.
    if (!file.isSubDir() && !file.isHidden()) {

      // Save dirIndex of file in directory.
      dirIndex[n] = file.dirIndex();

      // Print the file number and name.
      Serial.print(n++);
      Serial.write(' ');

      String tmp;
      
      file.printName(&Serial);
    file.printFatDate(&Serial);
      

      

Serial.print(tmp);Serial.print(tmp);Serial.print(tmp);
     Serial.write(' ');



//Yd,Md,Dd;


  
      Serial.println();
 
    }
    file.close();
  }
dirFile.close();

Ребята помогите, второй час сижу и просто понять не могу как в переменную String записать имя файла
вот так выводится в COM порт имя и все ок... а как в переменную имя файла получить?   file.printName(&Serial);
Выручайте пожалуйста

 

 

T.Rook
Offline
Зарегистрирован: 05.03.2016

Ну.. как написано в документации к SdFat: SdFat-master/SdFat-master/html/class_file.html

у file есть "name" и "getName (char *name, size_t size)". Пробовали?

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Ему ж в String надо! А Вы тут глум устроили :))))

Galavarez
Offline
Зарегистрирован: 22.06.2017

Сам долго мучался в этим вопросом, решение оказалось простое.

Вместо этого
 

file.printName(&Serial);

Делаем вот так

file.printName(&lcd);

 

b707
Offline
Зарегистрирован: 26.05.2017

Galavarez пишет:

Сам долго мучался в этим вопросом, решение оказалось простое.

Вместо этого
 

file.printName(&Serial);

Делаем вот так

file.printName(&lcd);

 

долго думал, как корову вылечить... решение оказалось простым - плюнул и в кино пошел!

Galavarez
Offline
Зарегистрирован: 22.06.2017

Мега круты поцики идут лесом.

А по теме вот как можно закинуть ответ в переменную.

char myVar[20]; // глобальна переменная char
file.getName(myVar,20);