Stream.peek()

De ArduWiki
Saltar a: navegación, buscar

Descripción

Devuelve el siguiente byte (carácter) del flujo de entrada, sin descartar (flujos byte a byte) o avanzar (flujos por bloques). Es decir, las llamadas sucesivas a peek() devolverán el mismo carácter, al igual que la próxima llamada a Stream.read().

Sintaxis

objetoStream.peek();

Retorno

El valor recuperado, o -1 si no hay datos para leer (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).
  • Cualquier clase que herede de Stream, debe implementar obligatoria y explícitamente esta función. Debe hacerse de manera que cumpla lo descrito en la sección de Descripción y Retorno.

Ejemplo

void setup(){
   Serial.begin(9600);
}
void loop(){
   if (Serial.available()){
      byte car = Serial.peek();    //Lee caracter enviado y NO borra del buffer.
      Serial.write(car);           //Imprime siempre lo mismo
   }
}

Vea también


Referencias externas