Oui effectivement, c'est ce que je fais à présent avec:
File myFile; //Fichier
String tblNomFic[10]; //Le nom des fichiers
int nbFichier; //Nombre de fichier
/* SETUP */
void setup() {
//Initialiser la carte SD
if(initSD()) {
//Lister les fichiers de configuration présent
nbFichier = listeFichier("test");
}
//Fermer le fichier
myFile.close();
Serial.println(tblNomFic[0]);
Serial.println(tblNomFic[1]);
Serial.println(tblNomFic[2]);
Serial.println(tblNomFic[3]);
Serial.println("");
Serial.println(nbFichier);
}
/* LOOP */
void loop() {
}
/* FONCTION listerFichier() */
int listeFichier(String path) {
int count = 0;
myFile = SD.open(path); //Ouvre la racine
//Tant que c'est vrai
while(true) {
//Prend le nom du fichier
File entry = myFile.openNextFile();
//Si c'est la fin
if(!entry) {
break; //Sortir de la boucle
}
//Rentre le nom de fichier dans un tableau
tblNomFic[count] = entry.name();
count++; //Compter le nombre de fichier
}
//Retourner le nombre de fichier
return count;
}
J'ai un petit souci pour transmettre mon chemin. J'en profite de la fonction pour prévoir pour le cas ou on choisirais volontairement un chemin différent. On ne sait jamais dans une autre application ça peut-être utile.
Là, si j'ai bien compris, ce qui ne va pas c'est l'arrivé en string pour aller sur un char*. Je cherche une solution à ce niveau.