utilisation de Serial.flush()

Bonjour,

j'essai d'utiliser la fonction serial.flush(). Voila j'aimerais vider le buffer d'entrée lorsque serial.available renvoi plus de 3 octets Or je me rend compte qu' elle vide rien cette fonction ( ou je m'en sert mal :roll_eyes:) car quand je fais lcd.print(serial.available) j'ai toujours les octets que j'avais recu aupar avant

voici un peti code :

void loop()
{
  lcd.clear();
  delay(1000);
  if(Serial.available() > 3){
    Serial.flush();    
  }
  
  else{
    
    lcd.print(Serial.available());   // ici elle renvoi la meme chose a chaque fois
    Serial.flush();
  }
  delay(2000);
}

Merci pr votre aide

ente les balise code le code, édite ton message, stp

j'ai pas compris vous pourriez expliquez svp

Quand tu post un code, clique sur l'icone # ça insert des balises entre lesquelles le test seras considéré comme un code et c'est plus agréable à lire.

Sinon pour ton problème, voir la fin de l'article : http://skyduino.wordpress.com/2012/02/09/arduino-1-0-et-uno-rev3-les-changements-qui-changent-tout/

Merci B@tto j y vois plus clair a présent . Donc on peut le vider comme ca en gro

while(Serial.available () > 0){
     Serial.read(); 
    }

Exactement. Merci la team arduino ...

ok Merci a toi et la Team arduino

Bonjour,

Avant 1.0.x Serial.flush() vidait le buffer entrant, depuis 1.0.x Serial.flush() vide le buffer sortant ... Bref, merci la Team arduino.

Faire deux fonctions séparé Serial.flush() et Serial.wait() c'était trop compliqué ...

ok merci

Thx for the explanation guys I've searched a lot an easy way to clear the incoming datas buffer and finally I find it here :) Thx so much the french Arduino community ;)