[SD] Je ne peux pas lister mes fichier/dossier

Bonjour à tous

J'ai un code qui va initié ma carte et créer et incrémenter le nom des fichier.

    sprintln(F("\nInitializing SD"),0);
    
    pinMode(PIN_SDLED, OUTPUT);
    digitalWrite(PIN_SDLED,LOW);
    
    if (!SD.begin(4)) {
      sprintln(F("Card init. failed!"),0);
      isSdReady = false;
      digitalWrite(PIN_SDLED,HIGH);
      // error(2);
    }
    else
    {


// ICI CA MARCHE


      isSdReady = true;
      sprintf(sd_logFile,"%s", ADALOG);
      
      // Check if file exist sarting from ADALOG00.TXT
      for (uint8_t i = 0; i < 100; i++) {
        sd_logFile[6] = '0' + i/10;
        sd_logFile[7] = '0' + i%10;
        // create if does not exist, do not open existing, write, sync after write
        if (! SD.exists(sd_logFile)) {
          break;
        }
      }


      sprintf(sd_gpsLogFile,"%s", GPSLOG);
      // Check if file exist sarting from GPSLOG00.TXT
      for (uint8_t i = 0; i < 100; i++) {
        sd_gpsLogFile[6] = '0' + i/10;
        sd_gpsLogFile[7] = '0' + i%10;
        // create if does not exist, do not open existing, write, sync after write
        if (! SD.exists(sd_gpsLogFile)) {
          break;
        }
      }

// JUSQU=ICI TOUT FONCTION!!

      // List SD content
      logfile = SD.open("/");
      printDirectory(logfile, 0);
      SerialUSB.println("done!");
      logfile.close();

    }

void printDirectory(File dir, int numTabs) {
   while(true) {
     
     File entry =  dir.openNextFile();
     if (! entry) {
       // no more files
       SerialUSB.println(F("Break"));
       break;
     }
     for (uint8_t i=0; i<numTabs; i++) {
       SerialUSB.print('\t');
     }
     SerialUSB.print(entry.name());
     if (entry.isDirectory()) {
       SerialUSB.println("/");
       printDirectory(entry, numTabs+1);
     } else {
       // files have sizes, directories do not
       SerialUSB.print("\t\t");
       SerialUSB.println(entry.size(), DEC);
     }
     entry.close();
   }
}

Tout fonctionne sauf cette partie

     // List SD content
      logfile = SD.open("/");
      printDirectory(logfile, 0);
      SerialUSB.println("done!");
      logfile.close();

Si je mets cette partie, juste dessous le commentaire // ICI CA MARCHE, il me liste le contenu de la carte SD.

Par contre, si je le laisse là ou il est, il n'affiche rien du tout. Le texte "Break" est affiché et rien de plus.

Alors je me demande si le SD.exists a une influence.

Voyez-vous?