Diferencia entre revisiones de «Serial.peek()»
De ArduWiki
(→Ejemplo) |
|||
Línea 17: | Línea 17: | ||
== Ejemplo == | == Ejemplo == | ||
+ | En este ejemplo debes meter caracteres en el monitor serie, pero siempre veras el primero. | ||
+ | |||
<syntaxhighlight lang="c++"> | <syntaxhighlight lang="c++"> | ||
void setup(){ | void setup(){ | ||
− | Serial.begin( | + | Serial.begin(115200); |
} | } | ||
void loop(){ | void loop(){ | ||
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.wrte(car); //Imprime siempre lo mismo, caracter |
+ | Serial.print(" = "); | ||
+ | Serial.println(car); //Imprime siempre lo mismo, código ASCII | ||
} | } | ||
} | } |
Revisión del 20:05 12 jul 2018
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.wrte(car); //Imprime siempre lo mismo, caracter
Serial.print(" = ");
Serial.println(car); //Imprime siempre lo mismo, código ASCII
}
}