Diferencia entre revisiones de «Serial.peek()»
De ArduWiki
(→Referencias) |
(→Ejemplo) |
||
Línea 26: | Línea 26: | ||
if (Serial.available()){ | if (Serial.available()){ | ||
byte car = Serial.peek(); //Lee caracter enviado y NO borra del buffer. | byte car = Serial.peek(); //Lee caracter enviado y NO borra del buffer. | ||
− | Serial. | + | Serial.write(car); //Imprime siempre lo mismo, caracter |
Serial.print(" = "); | Serial.print(" = "); | ||
Serial.println(car); //Imprime siempre lo mismo, código ASCII | Serial.println(car); //Imprime siempre lo mismo, código ASCII |
Revisión actual del 01:00 25 jun 2019
Contenido
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