Pequeña pregunta sobre la comunicacion serial.

Soy nuevo en el mundo de arduino, he estado probando componentes y he llegado a un bachecillo del que no logro salir. Va sobre la comucacion serial:

int x=0;

void setup() {
  Serial.begin(9600);

}

void loop() {

  
  if(Serial.available()>0)
  {
    x=Serial.read();
   
  }

  Serial.println(x);
  
  delay(500);
}

.
El problema está en que 'x' no se queda con el valor que le mando por el serial. En la captura se ve lo que pasa. En este caso he manadado el caracter '9', que se traduce a su codigo ASCII 57, pero luego adquiere el valor 13. Lo que quiero es que 'x' se mantega con el valor que mando hasta que le mande otro nuevo. ¿Cómo puedo hacerlo?

No hace mas que reflejar lo que recibe.
Cuando tu digitas' 9' envia ese '9' pero luego envia 0x0A y 0x0d que es justamente 13 y son CR y LF

para que se mantenga prueba asi

int x;

void setup() {
  Serial.begin(9600);

}

void loop() {

  
  if (Serial.available()>0) {
      int dato = Serial.read();
      if (x != 13)
         x = dato;
  }

  Serial.println(x);
  
  delay(500);
}