Problème de ... logique ? bug ?

Salut à tous !
J'ai un petit problème vraiment étrange. J'essaye de faire fonctionner mes moteurs sans balais. Je leur envois la vitesse (en kv) à laquelle ils doivent tourner via le moniteur série, avec ce code (simplifié, je n'ai mis que le code qui ne marche pas)

long value;
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
  if(Serial.available() > 0) {
    value = Serial.parseInt();
  }
  Serial.println(value);
}

Le problème : au lieu de m'afficher

0
0
0
x
x
x

quand je rentre un nombre x dans le moniteur série, il m'affiche

0
0
0
x
0
0

Quelqu'un à la solution ? Bug ou erreur de logique ?

EDIT:

Si value = 5, j'ai

5
5
5
x
0
0

Bonjour,

Du point de vue logique, afficher la valeur reçue alors que tu n'as rien reçu c'est moyen.

Mais ce que tu constates ne vient pas de là, je pense qu'après ton nombre le moniteur série envoie cr lf après le nombre.
Ceci est interprété comme 0 voir la doc parseInt

If no valid digits were read when the time-out (see Serial.setTimeout()) occurs, 0 is returned;

Merci de l'info,
En effet, il suffisait de mettre le moniteur sur "pas de fin de ligne"...