J'imagine que la fonction SD.begin() est appelée dans le setup() ?
La fonction setup() est appelée une seule fois au démarrage de la carte.
Lors de l'appel à SD.begin() si la SD n'est pas présente, cet appel échoue.
Ensuite, inutile d'essayer d'écrire ou de lire.
Tu imagines la suite ou pas ?