Diferencia entre revisiones de «Serial.setTimeout()»
De ArduWiki
(→Ejemplo) |
(→Vea también) |
||
Línea 49: | Línea 49: | ||
== Vea también == | == Vea también == | ||
+ | * [[Serial]] | ||
* [[Serial.begin()]] | * [[Serial.begin()]] | ||
* [[Serial.available()]] | * [[Serial.available()]] |
Revisión del 00:33 13 jul 2018
Contenido
Descripción
Establece los milisegundos máximos para esperar datos en serie al usar: Serial.readBytes() o Serial.readBytesUntil().
Nota: Por defecto son 1000 milisegundos (1 segundo).
Sintaxis
Serial.setTimeout(tiempo);
Parametros
- tiempo
- tiendo de espera en milisegundos (unsigned long).
Retorna
Nada.
Advertencias
- No se debe configurar con un valor excesivamente alto o bajo. Si es muy alto, las funciones bloqueantes fuertemente van a entorpecer la ejecución del programa; si es muy bajo, se puede interrumpir la operación antes de tiempo cuando se usan tasas de baudios bajas.
Ejemplo 1
void setup(){
Serial.begin(115200);
Serial.setTimeout(500);
}
void loop(){
if (Serial.available()){
byte c = Serial.read();
Serial.println(c);
}
}
Ejemplo 2
void setup(){
Serial.begin(115200);
Serial.setTimeout(50);
}
void loop(){
if (Serial.available()) {
byte frase[20];
size_t t = Serial.readBytesUntil('\n', frase, 20);
DEBUG(frase, t)
}
}
Vea también
- Serial
- Serial.begin()
- Serial.available()
- Serial.read()
- Serial.readBytesUntil()
- Serial.print()
- Serial.end()