Diferencia entre revisiones de «Stream.peek()»
De ArduWiki
(→Vea también) |
|||
Línea 28: | Línea 28: | ||
== Vea también == | == Vea también == | ||
+ | * [[Stream]] | ||
* [[Stream.available()]] | * [[Stream.available()]] | ||
* [[Stream.read()]] | * [[Stream.read()]] |
Revisión del 20:45 12 jul 2018
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
}
}