initSD()

Initialise la carte SD si cela n'a pas été déjà fait

 

Exemples d'utilisation

initSD(); // Initialise la carte SD
initSD(); // Ne fait plus rien les fois suivantes

 

Référence

void initSD(void);

Paramètre passé

aucun

Valeur retournée

Aucune

 

Voir aussi

- setGraphMode(); Initialisation de l'écran
- bmpDraw(); Charge un bitmap .BMP de la carte SD
- bmpSave(); Sauvegarde un bitmap .BMP sur la carte SD
- bpxDraw(); Charge un bitmap .BPX de la carte SD
- bpxSave(); Sauvegarde un bitmap .BPX sur la carte SD
- screenPrint(); Copie d'écran sur la carte SD

 

Notes

On n'a besoin de cette fonction uniquement si on désire utiliser les fonctions de la bibliothèque SD avant d'avoir utilisé les images. L'appel est souvent inutile car initSD() est appelée systématiquement lors des affichages et des sauvegardes de images.

 

Exemple

PecheuxGraph_ILI9341_8bits.zip\PecheuxGraph_ILI9341_8bits\examples\Documentation\Exemple-104-initSD\Exemple-104-initSD.ino (dans votre fichier téléchargé):

// Ce programme donne la liste des fichiers présents dans la racine de la
// carte SD. Il faut bien entendu avoir une carte SD présente. Pour plus
// d'informations sur ce programme, se reporter à la bibliothèque SdFat

#
  $menu = ":PG";
  include <PecheuxGraph_ILI9341_8bits.h>
#
  $menu = ":PG";
  include <SD.h>

File racine; // Pour ouvrir la carte SD
File fichier; // Pour parcourir la racine de la carte SD

void setup() 
{
  setGraphMode(PAYSAGE); // Obligatoire pour utiliser l'afficheur

  if (initSD()) // remplace SB.begin
  {
    // Ecrit la lite des fichiers, voit la bibliothèque SD...
    racine=SD.open("/");
    fichier=racine.openNextFile();
    while (fichier)
    {
      if (fichier.isDirectory()) text("<");
      text(fichier.name());
      if (fichier.isDirectory()) text(">");
      text("\n");
      fichier.close();
      fichier=racine.openNextFile();  
    }
  }  
}

void loop()
{
}

Résultat:

 

Côté technique

On pourrait utiliser SD.begin(), mais il faudrait donner la broche de sélection que l'on a pas sous la main, alors qu'avec initSD() c'est omis. D'autre part si la carte est déjà initialisée, on gagne du temps. Du coup le programme est portable et ne dépend pas de la carte Uno ou Méga

Cette fonction n'initialise la carte SD que la première fois, les fois suivantes, elle se contente de retourner true. Cette fonction est appelée par bmpDraw(), bmpSave(), bpxDraw(), bpxSave() et screenPrint();. On ne peut pas initialiser la carte systématiquement dans setGraphMode() car on peut utiliser cette bibliothèque sans la carte SD. Il faut par contre que la carte soit initialisée pour le travail avec images, et il ne faut pas réinitialiser systématiquement la carte en dessinant une image car le programme peut avoir ouvert un répertoire ou un fichier, et être en train de travailler dessus.