Serial.peek()

De ArduWiki
Revisión del 01:00 25 jun 2019 de Kike GL (Discusión | contribuciones) (Ejemplo)

(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar

Descripción

Devuelve el siguiente byte (carácter) de los datos en serie entrantes sin eliminarlo del buffer serie interno. Es decir, las llamadas sucesivas a Serial.peek() devolverán el mismo carácter, al igual que la próxima llamada a Serial.read().

Sintaxis

Serial.peek();

Parametros

Nada.

Retorna

El valor recuperado según el número de bits de datos configurado, o -1 si el buffer de entrada está vacío (int).

Advertencias

  • Si por error no se verifica de antemano si hay datos disponibles, peek() retornará 255 para byte en el caso que el valor real sea -1 (nada).

Ejemplo

En este ejemplo debes meter caracteres en el monitor serie, pero siempre veras el primero.

void setup(){
   Serial.begin(115200);
}
void loop(){
   if (Serial.available()){
      byte car = Serial.peek();    //Lee caracter enviado y NO borra del buffer.
      Serial.write(car);            //Imprime siempre lo mismo, caracter
      Serial.print(" = ");
      Serial.println(car);         //Imprime siempre lo mismo, código ASCII
   }
}

Vea también


Referencias