Serial.setTimeout()

De ArduWiki
Revisión del 13:46 6 may 2019 de Kike GL (Discusión | contribuciones) (Referencias)

(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar

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


Referencias