Comando para leer el monitor. ¿NO me funciona?

Hola! Tengo un problema. "Arme" un codigo para saber que se manda en el monitor (una vez apretado Enter). Y segun que se escribe, suceden cosas. Teniendo en cuenta este codigo que si funciona:

void loop()
{
  if(Serial.available()){
    String a = Serial.readString();
    Serial.println(a);
    Serial.print("funcionando");
    }
  }
}

Explicacion: al nosotros escribir una palabra en el monitor y preisonar Enter, esa palabra va a ser la variable a. Cuadno se precone Enter, tambien se va a devolver el valor de aSerial.println(a); y la palabra "funcionando" escrita.

Ahora tieniendo en cuenta esto, siguiendo la lógica, hice esto:

void loop()
{
  if(Serial.available()){
    String a = Serial.readString();
    if (a=="funciona"){
      Serial.print("funcionando");
    }
  }
}

En este caso, si nosotros mandamos una palabra en el monitor, este analiza si lo que se mandó es "funciona". Si es asì, va a escribir "funcionando". Pero al probar el código, no devuelve la palabra por mas de que se escriba "funciona". ¿Por que? ¿Alguna solución? Desde ya gracias.

Doble post Comando para leer el Monitor, no sirve?

Hilo cerrado y borrado.