[Résolu]Contrôler les données envoyées dans le moniteur série

Bonjour,

Je cherche à contrôler les données écrites dans le moniteur série. J'ai programmé ça (extrait de mon programme)

while (Serial.available() == 0 );
    if (Serial.available() != 0)
    {
      char lecture = Serial.read();
      Serial.println(lecture);
      while ((lecture != '0') || (lecture != '1') || (lecture != '2'))
      {
        Serial.println(F("Erreur : il faut saisir 0, 1 ou 2"));
        Serial.println(F("Quelle gamme de mesure du conductimètre :"));
        Serial.println(F("calibre 0-2 mS/cm --> tapez 0"));
        Serial.println(F("calibre 2-20 mS/cm --> tapez 1"));
        Serial.println(F("calibre automatique --> tapez 2"));
        Serial.println();
        lecture = Serial.read();
         delay(1000);
      }
      calibre = lecture;
}

Je précise que calibre est une variable byte

Mais quand je téléverse, le programme boucle
Quand bien même la valeur stockée dans lecture est correcte (0, 1 ou 2), vérifiée avec le Serial.println(lecture), cela boucle toujours.

Ou se situe mon erreur ?

Merci d''avance pour votre aide.

Bonjour,

while ((lecture != '0') || (lecture != '1') || (lecture != '2')) est toujours vrai.

Par exemple si lecture est '0' forcément lecture sera différent de '1' et la condition globale sera vraie.

Il faut remplacer tes || par des &&

Ah mais oui, quel c** !

Merci