Différences entre versions de « ADF-MICROSD-BREAKOUT-Fonctions »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
 
(8 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
 
{{ADF-MICROSD-BREAKOUT-NAV}}
 
{{ADF-MICROSD-BREAKOUT-NAV}}
  
== Lecture de fichiers ==
+
== Ecriture de fichiers ==
Le sketch suivant est une démonstration de base d'écriture dans un fichier. C'est la façon habituelle pour enregistrer des données.
+
Le sketch suivant est une démonstration de base d'écriture dans un fichier.  
 +
 
 +
C'est la méthode utilisée habituellement pour enregistrer des données.
  
 
  <nowiki>#include <SD.h>
 
  <nowiki>#include <SD.h>
Ligne 28 : Ligne 30 :
 
   myFile = SD.open("test.txt", FILE_WRITE);
 
   myFile = SD.open("test.txt", FILE_WRITE);
  
   // Si le fichier s'est ouvert : nous pouvont y écrire
+
   // Si le fichier s'est ouvert : nous pouvons y écrire
 
   if (myFile) {
 
   if (myFile) {
 
     Serial.print("Writing to test.txt...");
 
     Serial.print("Writing to test.txt...");
Ligne 47 : Ligne 49 :
 
</nowiki>
 
</nowiki>
  
Lorsque vous l'exécuterez, vous devriez voir ce qui suit:
+
Lorsque vous l'exécuterez, vous devriez voir ceci:
 
 
  
[[IMAGE]]  (http://www.ladyada.net/images/microsd/writetest.gif)
+
{{ADFImage|ADF-MICROSD-BREAKOUT-Func00.jpg}}
[[Fichier:ADF-MICROSD-BREAKOUT-Func00.jpg]]
 
  
Vous pouvez ensuite ouvrir le fichier à l'aide de votre système d'exploitation en insérant la carte dans le slot ad hoc de votre PC. Vous verrez une ligne pour chaque fois que le sketch est exécuté. C'est-à-dire, qu'il '''ajoute''' dans le fichier, et qu'il n'écrase pas le contenu.
+
Vous pouvez ensuite ouvrir le fichier à l'aide de votre système d'exploitation en insérant la carte dans le slot ad hoc de votre PC. Vous verrez une ligne pour chaque fois que le sketch aura été exécuté. C'est-à-dire que le sketch '''ajoute''' dans le fichier, et qu'il n'écrase pas le contenu.
  
[[IMAGE]]  (http://www.ladyada.net/images/Fmicrosd/writtentest.gif)
+
{{ADFImage|ADF-MICROSD-BREAKOUT-Func01.jpg}}
[[Fichier:ADF-MICROSD-BREAKOUT-Func01.jpg]]
 
  
Certaines choses sont à noter :
+
Certains point sont à relever :
  
 
* Vous pouvez avoir plusieurs fichiers ouverts en même temps, et y écrire comme vous le souhaitez.
 
* Vous pouvez avoir plusieurs fichiers ouverts en même temps, et y écrire comme vous le souhaitez.
* Vous pouvez utiliser '''print''' et '''println()''' comme des commandes en série, écrire des chaînes, des variables, etc
+
* Vous pouvez utiliser '''print''' et '''println()''' comme des commandes du port série (Serial), pour écrire des chaînes de caractères (string), des variables, etc
 
* Vous devez fermer '''close()''' le(s) fichier(s) lorsque vous avez terminé pour s'assurer que toutes les données sont écrites de façon permanente!(vider les buffer)
 
* Vous devez fermer '''close()''' le(s) fichier(s) lorsque vous avez terminé pour s'assurer que toutes les données sont écrites de façon permanente!(vider les buffer)
 
* Vous pouvez ouvrir des fichiers dans un répertoire. Par exemple, si vous voulez ouvrir un fichier dans le répertoire comme '''/MesFichiers/exemple.txt''' vous pouvez appeler '''SD.open("/MesFichiers/exemple.txt")''' (indique le chemin complet).
 
* Vous pouvez ouvrir des fichiers dans un répertoire. Par exemple, si vous voulez ouvrir un fichier dans le répertoire comme '''/MesFichiers/exemple.txt''' vous pouvez appeler '''SD.open("/MesFichiers/exemple.txt")''' (indique le chemin complet).
  
{{ambox | text = La bibliothèque de la carte SD ne prend pas en charge les «noms de fichiers longs» tels que nous sommes habitués. Au lieu de cela, il utilise le format DOS 8.3 pour les noms de fichiers, donc n'utilisez que les noms de fichiers courts! Par exemple '''IMAGE.JPG''' est très bien, et '''datalog.txt''' est aussi très bien mais pas '''My GPS log file.text'''!
+
{{ambox | text = La bibliothèque de la carte SD ne prend pas en charge les "noms de fichiers longs" tels que nous sommes habitués à les utiliser. Au lieu de cela, la librairie utilise le format DOS 8.3 pour les noms de fichiers. Vous devez donc utilisez exclusivement des noms de fichier courts! Par exemple '''IMAGE.JPG''' est très bien, et '''datalog.txt''' est aussi très bien mais pas '''My GPS log file.text'''!
  
Gardez à l'esprit que les noms de fichiers courts ne sont pas sensibles à la case «case sensitive», de sorte '''datalog.txt''' est le même fichier que '''DataLog.Txt''' et idem pour le fichier '''DATALOG.TXT''' }}
+
Gardez à l'esprit que les noms de fichier courts ne sont pas sensibles à la case ("not case sensitive"), de sorte '''datalog.txt''' est le même fichier que '''DataLog.Txt''' et idem pour le fichier '''DATALOG.TXT''' }}
  
 
== Lecture de fichiers ==
 
== Lecture de fichiers ==
Ensuite, nous allons vous montrer comment lire un fichier, c'est très similaire à l'écriture, pour cela, nous utiliserons '''SD.open()''' pour ouvrir le fichier mais cette fois on ne passe pas le paramètre '''FILE_WRITE''' cela nous gardera d'écrire accidentellement dans le fichier (ouverture en lecture seule). Vous pouvez alors appeler la fonction '''available()''' (elle vous indiquera s'il reste des données à lire) et un '''read()''' sur le fichier vous renverra l'octet suivant.
+
Ensuite, nous allons vous montrer comment lire un fichier, c'est une opération très similaire à l'écriture. Pour la réaliser, nous utiliserons '''SD.open()''' pour ouvrir le fichier mais cette fois on ne passe pas le paramètre '''FILE_WRITE''' durant l'appel. Cela évitera d'écrire accidentellement dans le fichier (car il sera ouvert en lecture seule). Vous pouvez alors appeler la fonction '''available()''' (elle indique s'il reste des données à lire) et un '''read()''' sur le fichier (pour lire l'octet suivant).
  
 
  <nowiki>#include <SD.h>
 
  <nowiki>#include <SD.h>
Ligne 80 : Ligne 79 :
 
   Serial.begin(9600);
 
   Serial.begin(9600);
 
   Serial.print("Initializing SD card...");
 
   Serial.print("Initializing SD card...");
// Sur la platine Ethernet, CS est la broche 4. Elle est définie comme une sortie par défaut.
+
  // Sur la platine Ethernet, CS est la broche 4. Elle est définie comme une sortie par défaut.
// Notez que même si elle n'est pas utilisée comme broche CS, la broche SS  
+
  // Notez que même si elle n'est pas utilisée comme broche CS, la broche SS  
// (10 sur la plupart des cartes Arduino, 53 sur les Méga) doit être laissée comme une sortie
+
  // (10 sur la plupart des cartes Arduino, 53 sur les Méga) doit être laissée comme une sortie
// Ou les fonctions de la bibliothèque SD ne fonctionneront pas.
+
  // sinon les fonctions de la bibliothèque SD ne fonctionneront pas.
  pinMode(10, OUTPUT);
+
  pinMode(10, OUTPUT);
  
 
   if (!SD.begin(10)) {
 
   if (!SD.begin(10)) {
Ligne 92 : Ligne 91 :
 
   Serial.println("initialization done.");
 
   Serial.println("initialization done.");
  
// ouvrir le fichier pour la lecture :
+
  // ouvrir le fichier pour la lecture :
 
   myFile = SD.open("test.txt");
 
   myFile = SD.open("test.txt");
 
   if (myFile) {
 
   if (myFile) {
 
     Serial.println("test.txt:");
 
     Serial.println("test.txt:");
  
// lire le fichier jusqu'à la fin :
+
    // lire le fichier jusqu'à la fin :
 
     while (myFile.available()) {
 
     while (myFile.available()) {
 
         Serial.write(myFile.read());
 
         Serial.write(myFile.read());
 
     }
 
     }
// fermer le fichier :
+
    // fermer le fichier :
 
     myFile.close();
 
     myFile.close();
 
   } else {
 
   } else {
        // si le fichier ne se ferme pas, afficher une erreur :
+
    // si le fichier ne se ferme pas, afficher une erreur :
 
     Serial.println("error opening test.txt");
 
     Serial.println("error opening test.txt");
 
   }
 
   }
Ligne 115 : Ligne 114 :
  
  
Certaines choses sont à noter:
+
Certaines éléments sont à noter:
 
* Vous pouvez avoir plusieurs fichiers ouverts en même temps, et lire à partir de chacun d'eux comme vous le souhaitez.
 
* Vous pouvez avoir plusieurs fichiers ouverts en même temps, et lire à partir de chacun d'eux comme vous le souhaitez.
* '''read()''' retourne un seul octet à la fois. Elle ne lit pas une ligne complète ou un nombre!
+
* La fonction '''read()''' retourne un seul octet à la fois. Elle ne lit pas une ligne complète ou un nombre!
* Vous devez '''close()''' le(s) fichier(s) lorsque vous avez terminé pour réduire la quantité de RAM utilisée
+
* Vous devez fermer le(s) fichier(s) avec la fonction '''close()''' lorsque vous avez terminé pour réduire la quantité de RAM utilisée
  
 
{{ambox-stop | text = La bibliothèque de la carte SD ne prend pas en charge les «noms de fichiers longs» tels que nous sommes habitués. Au lieu de cela, il utilise le format DOS 8.3 pour les noms de fichiers, donc n'utilisez que les noms de fichiers courts! Par exemple '''IMAGE.JPG''' est très bien, et '''datalog.txt''' est aussi très bien mais pas '''My GPS log file.text'''!
 
{{ambox-stop | text = La bibliothèque de la carte SD ne prend pas en charge les «noms de fichiers longs» tels que nous sommes habitués. Au lieu de cela, il utilise le format DOS 8.3 pour les noms de fichiers, donc n'utilisez que les noms de fichiers courts! Par exemple '''IMAGE.JPG''' est très bien, et '''datalog.txt''' est aussi très bien mais pas '''My GPS log file.text'''!
  
Garder à l'esprit que les noms de fichiers courts ne sont pas sensibles à la case «case sensitive», de sorte '''datalog.txt''' est le même fichier que '''DataLog.Txt''' et idem pour le fichier '''DATALOG.TXT'''}}
+
Garder à l'esprit que les noms de fichiers courts ne sont pas sensibles à la case (not case sensitive), de sorte '''datalog.txt''' est le même fichier que '''DataLog.Txt''' et idem pour le fichier '''DATALOG.TXT'''}}
  
 
== Enumérer / lire récursivement  les fichiers ==
 
== Enumérer / lire récursivement  les fichiers ==
Le dernier exemple nous montre une utilisation plus avancée. Une demande courante est par exemple de vouloir énumérer tous les fichiers de la carte SD, ou de jouer un fichier musical ou autre. Dans la dernière version de la bibliothèque SD, vous pouvez parcourir un répertoire et appeler '''openNextFile()''' pour obtenir le fichier disponible suivant. Ils n’apparaîtront pas dans l'ordre alphabétique, mais dans l'ordre de leur création; ayez conscience de ce fait!
+
Le dernier exemple nous montre une utilisation plus avancée. Un besoin courant est, par exemple, énumération tous les fichiers de la carte SD ou de jouer les fichiers musicaux les un après les autres. Dans la dernière version de la bibliothèque SD, vous pouvez parcourir un répertoire et appeler '''openNextFile()''' pour obtenir et ouvrir le fichier suivant disponible dans le répertoire. Ils n’apparaîtront pas dans l'ordre alphabétique, mais dans l'ordre de leur création; souvenez vous en car cela est important!
 +
 
 +
Pour voir l'exemple, chargez et exécutez le sketch d'exemple '''SD→listfiles'''
  
Pour le voir, exécutez le sketch d'exemple '''SD→listfiles'''
+
Vous pouvez constater que nous avons un sous-répertoire '''ANIM''' (des fichiers d'animation y sont placés). Les chiffres à la suite des noms de fichier représentent la taille en octets des fichiers.
  
Vous pouvez voir que nous avons un sous-répertoire '''ANIM''' (des fichiers d'animation y sont). Les chiffres à la suite des noms de fichier sont la taille en octets des fichiers. Ce sketch est utile pour apprendre comment sont appelés les fichiers sur votre carte. Le sketch montre également comment manipuler le(s) répertoire(s)
+
Ce sketch est utile pour découvrir les noms de fichiers tels qu'ils sont stockés sur votre carte. Le sketch montre également comment manipuler le(s) répertoire(s)
  
[[IMAGE]]  (http://www.ladyada.net/images/microsd/listrecuse.gif)
+
{{ADFImage|ADF-MICROSD-BREAKOUT-Func02.jpg}}
[[Fichier:ADF-MICROSD-BREAKOUT-Func02.jpg]]
 
  
 
== Autres fonctions utiles ==
 
== Autres fonctions utiles ==
Quelques manipulations utiles sont possibles avec des fonctions '''SD''' nous allons en énumérer quelques-unes ici:
+
Quelques manipulations utiles sont possibles avec des fonctions '''SD''', nous allons en énumérer quelques-unes ici:
  
* Si vous voulez juste vérifier qu'un fichier existe, utilisez '''SD.exists("filename.txt")''' elle retournera vrai ou faux (1 ou 0)
+
* Si vous voulez juste vérifier l'existence d'un fichier, utilisez '''SD.exists("filename.txt")''' elle retournera vrai ou faux (1 ou 0)
* Vous pouvez supprimer un fichier en appelant '''SD.remove("unwanted.txt")''' - attention! Elle supprimera vraiment le fichier, et il n'y a pas de «poubelle» pour corriger une erreur.
+
* Vous pouvez supprimer un fichier en appelant '''SD.remove("unwanted.txt")''' - attention! Elle supprimera vraiment le fichier, et il n'y a pas de "poubelle" pour corriger une erreur.
* Vous pouvez créer un sous-répertoire en appelant '''SD.mkdir("/mynewdir")''' très pratique lorsque vous voulez rassembler des fichiers dans un emplacement commun. Rien ne se passe si il existe déjà, mais vous pouvez toujours appeler '''SD.exists()''' en premier comme ci-dessus.
+
* Vous pouvez créer un sous-répertoire en appelant '''SD.mkdir("/mynewdir")''' très pratique lorsque vous voulez rassembler des fichiers dans un emplacement commun (un fichier par jour... et un répertoire par semaine). Rien ne se passe si il existe déjà, mais vous pouvez toujours appeler '''SD.exists()''' en premier tel que décrit ci-dessus.
  
Quelques fonctions de '''fichier''' utiles pour les manipuler :
+
Quelques fonctions utiles pour manipuler des fichiers :
  
* Vous pouvez appeler '''seek()''' sur un fichier. Ceci déplacera le pointeur de lecture/écriture vers un nouvel emplacement. Par exemple '''seek(0)''' vous amène au début du fichier, ce qui peut être très pratique!
+
* Vous pouvez appeler '''seek()''' sur un fichier. Ceci déplacera le pointeur de lecture/écriture vers le nouvel emplacement indiqué. Par exemple '''seek(0)''' vous amène au début du fichier, ce qui peut être très pratique!
* De même, vous pouvez appeler la fonction '''position()''' elle vous renverra où vous en êtes dans le fichier (nombre d'octets parcourus).
+
* De même, vous pouvez appeler la fonction '''position()''' elle renvoi l'emplacement actuel du pointeur de lecture/écriture dans le fichier (nombre d'octets parcourus).
* Si vous voulez connaître la taille d'un fichier, appelez '''size()''' pour obtenir sa dimension en nombre d'octets dans le fichier.
+
* Si vous voulez connaître la taille d'un fichier, appelez '''size()''' pour obtenir la taille du fichier en octets (bytes).
 
* Les répertoires/dossiers sont des fichiers spéciaux, vous pouvez déterminer si un fichier est un répertoire en appelant '''isDirectory()'''
 
* Les répertoires/dossiers sont des fichiers spéciaux, vous pouvez déterminer si un fichier est un répertoire en appelant '''isDirectory()'''
* Lorsqu'un répertoire est reconnu, vous pouvez commencer à passer par tous les fichiers dans ce répertoire en appelant '''openNextFile()'''
+
* Lorsqu'un répertoire est reconnu, vous pouvez commencer à énumerer tous les fichiers disponibles dans ce répertoire en appelant '''openNextFile()'''
* S'il est nécessaire de connaître le nom d'un fichier, par exemple si vous avez appelé '''openNextFile()''' dans un répertoire. Dans ce cas, la fonction '''name()''' retourne un pointeur vers le tableau de caractères au format
+
* S'il est nécessaire de connaître le nom d'un fichier (par exemple lorsque vous avez appelé '''openNextFile()''') dans un répertoire. Dans ce cas, la fonction '''name()''' retourne un pointeur vers le tableau de caractères contenant le nom de fichier au format 8.3. Vous pouvez envoyer directement le contenu du tableau directement sur la console avec '''Serial.print()'''.
8.3, vous pouvez l'envoyer directement à la console avec '''Serial.print()''' si vous voulez.
 
  
 
{{ADF-MICROSD-BREAKOUT-TRAILER}}
 
{{ADF-MICROSD-BREAKOUT-TRAILER}}

Version actuelle datée du 12 janvier 2014 à 20:51

Ecriture de fichiers

Le sketch suivant est une démonstration de base d'écriture dans un fichier.

C'est la méthode utilisée habituellement pour enregistrer des données.

#include <SD.h>

File myFile;

void setup()
{
  Serial.begin(9600);
  Serial.print("Initializing SD card...");
// Sur la platine Ethernet, CS est la broche 4. Elle est définie comme une sortie par défaut.
// Notez que même que si elle n'est pas utilisée comme broche CS, la broche SS 
// (10 sur la plupart des cartes Arduino, 53 sur les Méga) doit être laissée comme une sortie 
// ou les fonctions de la bibliothèque SD ne fonctionneront pas.
   pinMode(10, OUTPUT);

  if (!SD.begin(10)) {
    Serial.println("initialization failed!");
    return;
  }
  Serial.println("initialization done.");

// Ouvrir le fichier. notez qu'un seul fichier peut être ouvert à la fois,
// Il faut donc fermer celui-ci avant d'en ouvrir une autre.
  myFile = SD.open("test.txt", FILE_WRITE);

  // Si le fichier s'est ouvert : nous pouvons y écrire
  if (myFile) {
    Serial.print("Writing to test.txt...");
    myFile.println("testing 1, 2, 3.");
        // fermer le fichier :
    myFile.close();
    Serial.println("done.");
  } else {
    // Si le fichier ne s'ouvre pas, afficher une erreur :
    Serial.println("error opening test.txt");
  }
}

void loop()
{
        // Il n'y a rien à faire ici, après setup()
}

Lorsque vous l'exécuterez, vous devriez voir ceci:

{{{2}}}
Crédit: AdaFruit Industries www.adafruit.com

Vous pouvez ensuite ouvrir le fichier à l'aide de votre système d'exploitation en insérant la carte dans le slot ad hoc de votre PC. Vous verrez une ligne pour chaque fois que le sketch aura été exécuté. C'est-à-dire que le sketch ajoute dans le fichier, et qu'il n'écrase pas le contenu.

{{{2}}}
Crédit: AdaFruit Industries www.adafruit.com

Certains point sont à relever :

  • Vous pouvez avoir plusieurs fichiers ouverts en même temps, et y écrire comme vous le souhaitez.
  • Vous pouvez utiliser print et println() comme des commandes du port série (Serial), pour écrire des chaînes de caractères (string), des variables, etc
  • Vous devez fermer close() le(s) fichier(s) lorsque vous avez terminé pour s'assurer que toutes les données sont écrites de façon permanente!(vider les buffer)
  • Vous pouvez ouvrir des fichiers dans un répertoire. Par exemple, si vous voulez ouvrir un fichier dans le répertoire comme /MesFichiers/exemple.txt vous pouvez appeler SD.open("/MesFichiers/exemple.txt") (indique le chemin complet).

Lecture de fichiers

Ensuite, nous allons vous montrer comment lire un fichier, c'est une opération très similaire à l'écriture. Pour la réaliser, nous utiliserons SD.open() pour ouvrir le fichier mais cette fois on ne passe pas le paramètre FILE_WRITE durant l'appel. Cela évitera d'écrire accidentellement dans le fichier (car il sera ouvert en lecture seule). Vous pouvez alors appeler la fonction available() (elle indique s'il reste des données à lire) et un read() sur le fichier (pour lire l'octet suivant).

#include <SD.h>

File myFile;

void setup()
{
  Serial.begin(9600);
  Serial.print("Initializing SD card...");
  // Sur la platine Ethernet, CS est la broche 4. Elle est définie comme une sortie par défaut.
  // Notez que même si elle n'est pas utilisée comme broche CS, la broche SS 
  // (10 sur la plupart des cartes Arduino, 53 sur les Méga) doit être laissée comme une sortie
  // sinon les fonctions de la bibliothèque SD ne fonctionneront pas.
  pinMode(10, OUTPUT);

  if (!SD.begin(10)) {
    Serial.println("initialization failed!");
    return;
  }
  Serial.println("initialization done.");

  // ouvrir le fichier pour la lecture :
  myFile = SD.open("test.txt");
  if (myFile) {
    Serial.println("test.txt:");

    // lire le fichier jusqu'à la fin :
    while (myFile.available()) {
        Serial.write(myFile.read());
    }
    // fermer le fichier :
    myFile.close();
  } else {
    // si le fichier ne se ferme pas, afficher une erreur :
    Serial.println("error opening test.txt");
  }
}

void loop()
{
        // Il n'y a rien à faire après setup()
}


Certaines éléments sont à noter:

  • Vous pouvez avoir plusieurs fichiers ouverts en même temps, et lire à partir de chacun d'eux comme vous le souhaitez.
  • La fonction read() retourne un seul octet à la fois. Elle ne lit pas une ligne complète ou un nombre!
  • Vous devez fermer le(s) fichier(s) avec la fonction close() lorsque vous avez terminé pour réduire la quantité de RAM utilisée

Enumérer / lire récursivement les fichiers

Le dernier exemple nous montre une utilisation plus avancée. Un besoin courant est, par exemple, énumération tous les fichiers de la carte SD ou de jouer les fichiers musicaux les un après les autres. Dans la dernière version de la bibliothèque SD, vous pouvez parcourir un répertoire et appeler openNextFile() pour obtenir et ouvrir le fichier suivant disponible dans le répertoire. Ils n’apparaîtront pas dans l'ordre alphabétique, mais dans l'ordre de leur création; souvenez vous en car cela est important!

Pour voir l'exemple, chargez et exécutez le sketch d'exemple SD→listfiles

Vous pouvez constater que nous avons un sous-répertoire ANIM (des fichiers d'animation y sont placés). Les chiffres à la suite des noms de fichier représentent la taille en octets des fichiers.

Ce sketch est utile pour découvrir les noms de fichiers tels qu'ils sont stockés sur votre carte. Le sketch montre également comment manipuler le(s) répertoire(s)

{{{2}}}
Crédit: AdaFruit Industries www.adafruit.com

Autres fonctions utiles

Quelques manipulations utiles sont possibles avec des fonctions SD, nous allons en énumérer quelques-unes ici:

  • Si vous voulez juste vérifier l'existence d'un fichier, utilisez SD.exists("filename.txt") elle retournera vrai ou faux (1 ou 0)
  • Vous pouvez supprimer un fichier en appelant SD.remove("unwanted.txt") - attention! Elle supprimera vraiment le fichier, et il n'y a pas de "poubelle" pour corriger une erreur.
  • Vous pouvez créer un sous-répertoire en appelant SD.mkdir("/mynewdir") très pratique lorsque vous voulez rassembler des fichiers dans un emplacement commun (un fichier par jour... et un répertoire par semaine). Rien ne se passe si il existe déjà, mais vous pouvez toujours appeler SD.exists() en premier tel que décrit ci-dessus.

Quelques fonctions utiles pour manipuler des fichiers :

  • Vous pouvez appeler seek() sur un fichier. Ceci déplacera le pointeur de lecture/écriture vers le nouvel emplacement indiqué. Par exemple seek(0) vous amène au début du fichier, ce qui peut être très pratique!
  • De même, vous pouvez appeler la fonction position() elle renvoi l'emplacement actuel du pointeur de lecture/écriture dans le fichier (nombre d'octets parcourus).
  • Si vous voulez connaître la taille d'un fichier, appelez size() pour obtenir la taille du fichier en octets (bytes).
  • Les répertoires/dossiers sont des fichiers spéciaux, vous pouvez déterminer si un fichier est un répertoire en appelant isDirectory()
  • Lorsqu'un répertoire est reconnu, vous pouvez commencer à énumerer tous les fichiers disponibles dans ce répertoire en appelant openNextFile()
  • S'il est nécessaire de connaître le nom d'un fichier (par exemple lorsque vous avez appelé openNextFile()) dans un répertoire. Dans ce cas, la fonction name() retourne un pointeur vers le tableau de caractères contenant le nom de fichier au format 8.3. Vous pouvez envoyer directement le contenu du tableau directement sur la console avec Serial.print().

Source: Micro SD card Tutorial created by LadyAda for AdaFruit Industries

Réalisé avec l'aide de Mr Carette J. à qui nous remettons tous nos remerciements.

Tutoriel créé par LadyAda pour AdaFruit Industries. Tutorial created by LadyAda for AdaFruit Industries

Traduit avec l'autorisation d'AdaFruit Industries - Translated with the permission from Adafruit Industries - www.adafruit.com

Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : «  Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.

L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.