Stream.peek()
De ArduWiki
Revisión del 14:07 11 jul 2018 de Lucario448 (Discusión | contribuciones)
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
}
}