Yahoo refuse tous les emails du site. Si vous avez une adresse chez un autre prestataire, c'est le moment de l'utiliser ;)

En cas de soucis, n'hésitez pas à aller faire un tour sur la page de contact en bas de page.

Topic "SD : comment détecter l'absence de carte SD"

Flux RSS des posts récents dans ce topic ( Flux Atom)


Pas de photo de profil

cestpasfaux

Membre

#795 | Signaler ce message


Bonjour à tous !! :)

Je bosse actuellement sur un projet dans lequel j'écris des données sur une carte SD. Lorsque la carte SD est absente, le programme le détecte, mais uniquement dans le setup au moment de l'initialisation :

1
2
3
  Serial.print("Init SD card... ");
  if (!SD.begin(CS_PIN)) { // gestion du cas d'erreur
    Serial.println("FAIL");

Par contre, si je retire la carte pendant que le programme s'exécute (dans le main loop), il ne détecte pas l'erreur. Comment faire pour mettre le code en erreur dans ce cas ?

Merci d'avance pour votre aide !!

Derniére modification le par cestpasfaux


Photo de profil de skywodd

skywodd

Membre

Membre du staff

#797 | Signaler ce message


Bonjour,

La façon la plus simple est de câbler la broche CD (Card Detect) sur une entrée numérique. C'est un simple interrupteur mécanique qui s'enclenche quand une carte est présente.

pinMode(xxx, INPUT_PULLUP) dans le setup(), puis digitalRead(xxx) avant d'utiliser la carte. Si c'est LOW, ya une carte, si c'est HIGH, ya pas de carte. Ne pas oublier, en cas de retrait de la carte, il faut refaire un begin, puis rouvrir les fichiers.

Sinon, en regardant le code de retour des fonctions de lecture / écriture … mais d'expérience, c'est pas super efficace (une fois sur deux ça détecte pas d'erreur).