[RESOLU] Problème d’analyse de string.

Salut, voici mon problème:

j'ai une string et je veux analyse le message qu'elle contiens.
Voila mon code:

void loop(){

  while(Serial.available()){
    
    String text = Serial.readString();

    if(text == "r"){
      Serial.println("Commande: r");
    }
    else if(text == "c"){
      Serial.println("Commande: c");
    }
    else if(text == "m"){
      Serial.println("Commande: m");
    }
    else{
      Serial.println("Erreur pour: " + text);
    }
    
  }
  
}

mais quand j'ouvre le serial et que j'envoi a l'arduino (par exemple: c) je reçois:

Erreur pour: c

au lieu de:

Commande: c

et je ne sais pas comment faire?

Merci pour vos réponse.

Bonjour,

Tu as certainement des retour chariot et/ou line feed à la fin de ta commande.
Tu peux les enlever avec la fonction trim

    String text = Serial.readString();
    text.trim()

Et pourquoi tu ne fais pas imprimer la String text (par Serial.print() ) ?
Tu verrais au moins ce que ta variable text reçoit.

Par ailleurs, Serial.readString() prend, par défaut, 1 seconde avant de te répondre.
Pour le moment ça joue peu, mais ça viendra ?

Tu peux les enlever avec la fonction trim

Merci mille fois kamill ça fonctionne parfaitement!!! :slight_smile: :smiley: ;D

Comment fait-on pour marquer le sujet comme résolut?

swiftapp:
Comment fait-on pour marquer le sujet comme résolut?

à la main :slight_smile: vous éditez votre premier post et rajoutez [RESOLU] devant le texte du titre..

Merci pour vos reponse!!!