En série.setTimeout et série.Fonctions GetTimeout Arduino

En série.setTimeout et série.Fonctions GetTimeout Arduino
L'un des composants essentiels d'Arduino est la communication en série, qui permet l'échange de données entre la carte Arduino et un ordinateur. Dans cet article, nous discuterons de deux fonctions Arduino, en série.setTimeout () et série.getTimeout (). Nous expliquerons la syntaxe, les paramètres et les valeurs de retour de ces fonctions et fournirons des exemples de leur utilisation.

En série.setTimeout () - Arduino

La série.La fonction setTimeout () dans Arduino est utilisée pour définir le temps maximum en millisecondes que le programme attendra les données série. Par défaut, le délai d'extraction est de 1000 millisecondes. La série.La fonction setTimeout () provient de la classe Stream dans Arduino, qui fournit un ensemble de façons courantes de travailler avec des entrées / sorties.

La série.La fonction setTimeout () est utile lorsque vous travaillez avec des connexions lentes ou peu fiables.

Syntaxe
La syntaxe pour la série.La fonction setTimeout () est:

En série.setTimeout (heure)

Paramètres

Pour utiliser la série.setTimeout (), vous devez fournir l'objet de port série comme premier paramètre et la durée du délai d'expiration en millisecondes comme deuxième paramètre. La durée peut être exprimée comme un long type de données.

La valeur de la période de temps sortie est en millisecondes (MS). Ce délai d'expiration n'est pas signé longtemps qui commence à partir de 1 et va à 4294967295 millisecondes.

Retour

Cette fonction ne renvoie aucune valeur.

En série.getTimeout () - Arduino

La série.La fonction getTimeout () renvoie la période de délai actuelle pour la communication en série. Il peut être utilisé pour déterminer la période de délai de mort.

Syntaxe
La syntaxe pour la série.La fonction getTimeout () est:

En série.getTimeout (time);

Paramètres

Cette fonction ne prend aucun paramètre.

Retour

Cette fonction renvoie la valeur de délai d'expiration définie qui est par défaut de 1000 ms et peut être modifiée à l'aide de la série.getTimeout (). Le type de données de valeur de retour est non signé.

Exemple de code

Dans l'exemple suivant, nous obtenons la période de délai d'attente actuelle en utilisant la série.Fonction getTimeout (). Nous imprimons ensuite la période de délai d'attente au moniteur en série. Ensuite, nous avons changé la période de délai d'attente à 5 secondes, puis l'avons imprimée sur le moniteur série.

void setup()
En série.commencer (9600); // initialise la communication série à 9600 bits par seconde
non signé long defaultimeout = serial.getTimeout (); // Obtenez la période de délai de temps par défaut
En série.print ("La période de délai de délai par défaut est:");
En série.println (defaultimeout); // Imprime la période de délai de délai par défaut au moniteur série
En série.setTimeout (5000); // Réglez la période de délai d'attente à 5000 millisecondes (5 secondes)
non signé long terme = série.getTimeout (); // Obtenez la période de délai actuelle
En série.print ("La période de délai d'attente actuelle est:");
En série.println (timeout); // imprime la période de délai d'attente actuelle au moniteur série

VOID LOOP ()

Dans le code ci-dessus installation() La fonction initialise la communication série à 9600 bits par seconde et obtient la période de délai d'expiration par défaut en utilisant la série.Fonction getTimeout (). La période d'expiration par défaut s'affiche ensuite sur le moniteur série.

Ensuite, la série.La fonction setTimeout () est utilisée pour définir la nouvelle période de délai d'expiration à 5 secondes (5000 millisecondes).

La fonction LOOP () récupère ensuite la période de délai d'expiration actuelle en utilisant la série.fonction getTimeout () et l'affiche sur le moniteur en série. Un délai de 1 seconde est ajouté avant d'imprimer la valeur suivante pour empêcher le moniteur de série d'être inondé de données. Ce code peut être utilisé pour vérifier que la période de délai d'expiration est définie correctement et que la série.La fonction getTimeout () fonctionne comme prévu.

Sortir
Dans la sortie, nous pouvons voir à la fois le délai d'expiration par défaut et le nouveau délai d'expiration sont imprimés sur le moniteur en série.

Conclusion

Le En série.setTimeout () et En série.getTimeout () Les fonctions sont des fonctions d'utilité importantes dans la langue Arduino. En série.setTimeout () définit le temps maximum en millisecondes que le programme attendra les données série, tandis que la série.getTimeout () récupère la période de délai actuelle. Ces fonctions sont utiles pour travailler avec des dispositifs externes qui ne fournissent pas toujours de données dans un délai spécifique.