Bonjour à tous,

Je suis en classe de terminale STI2D et je travaille pour un projet de fin d'année mais je suis face à un problème.

Pour vous expliquer, mon camarade m'envoi en continu des valeurs égales à -100 via xBee. Je reçois ces valeurs mais comme j'en reçois plusieures je suis contraint de les différencier c'est pour ça qu'il y a un tiret devant.

Dans mon code je supprime ce tiret et garde que le 100 mais au moment de print ceci dans le port série, certaines valeurs sont "mangées", "tronquées". Je ne comprends pas pourquoi et donc ça me fausse tous mes résultats.

Ci dessous une capture d'écran:

Nom : 9c64e96b8543dee6dbc6ea5880797626f7699c49.png
Affichages : 625
Taille : 163,2 Ko

Et mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
void getLivraison(){
 
    if (Serial.available())  {
    char e = Serial.read();  //gets one byte from serial buffer
    if (e == '+') {
      readStringLivraison = readStringLivraison.substring(-4, 0);
      int resultatLivraison = readStringLivraison.toInt(); // conversion string en int
      Serial.println("valeur de la livraison:");
      Serial.println(resultatLivraison);
      if (resultatLivraison == 300){
        old_valeur_livraison = "3";
      }
      if (resultatLivraison == 304){
        old_valeur_livraison = "4";
      }
      readStringLivraison=""; //clears variable for new input    
    }
    else {    
      readStringLivraison += e; //makes the string readString
    }
  }
 
}
Merci d'avance