J-M-L:
--> vous faites un read() juste après le parseInt()
Merci, mon Programme avec les corrections:
void loop () {
while (Serial.available() > 0) {
int inByte = Serial.read(); // lire un premier caractère
// filtrer : il doit etre une lettre majuscule
if (inByte >= 'A') {
int valeur = Serial.parseInt();
Serial.read();
// traitement
switch (inByte) {
case 'R'://Données commencant par "R" = RPM
if (valeur > 0) {
myGLCD.setFont(BigFont);
myGLCD.setColor(87, 255, 45);
myGLCD.setBackColor(0, 0, 0);
myGLCD.printNumI(valeur, 70, 75, 4, '0');
// controle eventuel de la valeur
Serial.print("RPM : "); Serial.println(valeur);
}
if (valeur > 9999) {}
break;
case 'S': //Données commencant par "S" =Speed
if (valeur > 0) {
myGLCD.setFont(BigFont);
myGLCD.setColor(87, 255, 45);
myGLCD.setBackColor(0, 0, 0);
myGLCD.printNumI(valeur, 280, 75, 3, '0');
// controle eventuel de la valeur
Serial.print("Speed : "); Serial.println(valeur);
}
if (valeur > 320) {}
break;
case 'A'://Données commencant par "A" = Accel
if (valeur > 0) {
myGLCD.setFont(BigFont);
myGLCD.setColor(87, 255, 45);
myGLCD.setBackColor(0, 0, 0);
myGLCD.printNumI(valeur, 77, 315, 3, '0');
// controle eventuel de la valeur
Serial.print("Accel : "); Serial.println(valeur);
}
if (valeur > 100) {}
break;
case 'G': //Données commencant par "G" = Gearbox position
if (valeur > 0) {
myGLCD.setFont(SevenSegNumFont);
myGLCD.setColor(0, 0, 0);
myGLCD.setBackColor(154, 217, 234);
myGLCD.printNumI(valeur, 733, 395, 1, '0');
// controle eventuel de la valeur
Serial.print("Gear : "); Serial.println(valeur);
}
if (valeur > 4) {}
break;
}//end switch
}
}
} //End loop
Je n'ai pas de changement pour le moment j'ai essayé de rajouté une "," et ";" à la fin l'envoie via le Programme C++, il y à eu de l'amélioration mais la saturation reste présente.