De serie.setTimeout y serie.GetTimeOut Arduino Funciones

De serie.setTimeout y serie.GetTimeOut Arduino Funciones
Uno de los componentes esenciales de Arduino es la comunicación en serie, que permite el intercambio de datos entre la placa Arduino y una computadora. En este artículo, discutiremos dos funciones de Arduino, Serial.setTimeout () y serial.GetTimeOut (). Explicaremos la sintaxis, los parámetros y los valores de retorno de estas funciones y proporcionaremos ejemplos de su uso.

De serie.setTimeout () - Arduino

El serial.La función setTimeout () en Arduino se utiliza para establecer el tiempo máximo en milisegundos que el programa esperará los datos en serie. Por defecto, el tiempo de espera establecido es de 1000 milisegundos. El serial.La función setTimeOut () proviene de la clase de flujo en Arduino, que proporciona un conjunto de formas comunes de trabajar con entradas/salidas.

El serial.La función setTimeOut () es útil cuando se trabaja con conexiones lentas o poco confiables.

Sintaxis
La sintaxis para serial.La función setTimeOut () es:

De serie.setTimeOut (hora)

Parámetros

Para usar serial.setTimeOut (), debe proporcionar el objeto del puerto serie como el primer parámetro, y la duración del tiempo de espera en milisegundos como el segundo parámetro. La duración se puede expresar como un tipo de datos largo.

El valor del período de tiempo de espera está en milisegundos (MS). Este valor de tiempo de espera es sin firmar que comienza desde 1 y sube a 4294967295 milisegundos.

Devoluciones

Esta función no devuelve ningún valor.

De serie.GetTimeOut () - Arduino

El serial.la función getTerout () devuelve el período de tiempo de espera actual para la comunicación en serie. Se puede usar para determinar el período de tiempo de espera actual o para restaurar el período de tiempo de espera predeterminado.

Sintaxis
La sintaxis para serial.la función getTimeOut () es:

De serie.GetTimeOut (tiempo);

Parámetros

Esta función no toma ningún parámetro.

Devoluciones

Esta función devuelve el valor de tiempo de espera establecido que es de forma predeterminada 1000 ms y se puede cambiar utilizando la serie.GetTimeOut (). El tipo de datos de valor de retorno es sin firmar largo.

Código de ejemplo

En el siguiente ejemplo, obtenemos el período de tiempo de espera actual utilizando la serie.Función GetTimeOut (). Luego imprimimos el período de tiempo de espera al monitor en serie. A continuación, cambiamos el período de tiempo de espera a 5 segundos y luego lo imprimimos nuevamente en el monitor en serie.

setup () void
De serie.comenzar (9600); // Inicializar la comunicación en serie a 9600 bits por segundo
Unsigned Long TimeTtimeOut = Serial.getTimeOut (); // Obtenga el período de tiempo de espera predeterminado
De serie.imprimir ("El período de tiempo de espera predeterminado es:");
De serie.println (defaultTimeOut); // imprime el período de tiempo de espera predeterminado al monitor en serie
De serie.setTimeOut (5000); // Establecer el período de tiempo de espera a 5000 milisegundos (5 segundos)
Tiempo de espera largo sin firmar = Serial.getTimeOut (); // Obtenga el período de tiempo de espera actual
De serie.imprimir ("El período de tiempo de espera actual es:");
De serie.println (tiempo de espera); // Imprima el período de tiempo de espera actual en el monitor en serie

bucle void ()

En el código anterior el configuración() La función inicializa la comunicación en serie a 9600 bits por segundo y obtiene el período de tiempo de espera predeterminado utilizando la serie.Función GetTimeOut (). Luego se muestra el período de tiempo de espera predeterminado en el monitor en serie.

A continuación, la serie.La función setTimeOut () se usa para establecer el nuevo período de tiempo de espera en 5 segundos (5000 milisegundos).

La función bucle () luego recupera el período de tiempo de espera actual utilizando la serie.Función GetTimeOut () y la muestra en el monitor en serie. Se agrega un retraso de 1 segundo antes de imprimir el siguiente valor para evitar que el monitor en serie se inunde con datos. Este código se puede usar para verificar que el período de tiempo de espera se establece correctamente y que la serie.la función getTimeOut () funciona como se esperaba.

Producción
En la salida podemos ver tanto el tiempo de espera predeterminado como el nuevo tiempo de espera se imprimen en el monitor en serie.

Conclusión

El De serie.setTimeout () y De serie.GetTimeOut () Las funciones son importantes funciones de utilidad en el idioma Arduino. De serie.setTimeOut () establece el tiempo máximo en milisegundos que el programa esperará los datos en serie, mientras que es serie.GetTimeOut () recupera el período de tiempo de espera actual. Estas funciones son útiles para trabajar con dispositivos externos que pueden no siempre proporcionar datos dentro de un marco de tiempo específico.