Diferencia entre revisiones de «Serial.peek()»
De ArduWiki
(→Ejemplo) |
(→Ejemplo) |
||
(No se muestran 10 ediciones intermedias de 2 usuarios) | |||
Línea 1: | Línea 1: | ||
== Descripción == | == 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 == | == Sintaxis == | ||
<pre> | <pre> | ||
+ | Serial.peek(); | ||
</pre> | </pre> | ||
== Parametros == | == Parametros == | ||
+ | Nada. | ||
== Retorna == | == 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 == | == 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 == | == 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.write(car); | + | Serial.write(car); //Imprime siempre lo mismo, caracter |
+ | Serial.print(" = "); | ||
+ | Serial.println(car); //Imprime siempre lo mismo, código ASCII | ||
} | } | ||
} | } | ||
Línea 26: | Línea 34: | ||
== Vea también == | == Vea también == | ||
− | + | <categorytree mode=all>Serial</categorytree> | |
− | |||
− | |||
− | |||
== Referencias == | == Referencias == | ||
− | [[Category: | + | [[Category:Serial]] |
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