En série.Fonction de Parseint Arduino

En série.Fonction de Parseint Arduino
Les cartes Arduino peuvent être programmées pour prendre la saisie de l'utilisateur et générer une réponse de sortie en fonction de cela. Le En série.parseInt () La fonction est une fonctionnalité pratique pour lire la saisie des utilisateurs du moniteur série et la convertir en un entier. Cet article couvre la série.La fonction parseInt () fonctionne, sa syntaxe et ses paramètres, et un exemple de la façon de l'utiliser dans vos programmes Arduino.

Description

La série.La fonction parseInt () lit les entrées du moniteur de série un caractère à la fois jusqu'à ce qu'il détecte un caractère non nucère. Il convertit ensuite l'entrée numérique en un entier.

Si la fonction ne reçoit aucune entrée, elle renvoie zéro. S'il reçoit une entrée non valide (E.g., un caractère qui n'est pas un nombre), il renvoie le dernier entier valide qu'il a lu.

Il se termine également lorsqu'il atteint le temps (série.setTimeout ()). Cette fonction est héritée de la classe Stream dans la programmation Arduino.

Syntaxe
La syntaxe de la série.La fonction parseInt () est simple. Il est écrit comme suit:

En série.parseInt ()
En série.Parseint (lookahead)
En série.Parseint (Lookahead, ignore)

Ce sont des méthodes dans le langage de programmation Arduino utilisé pour lire et convertir les caractères du port de communication en série en entiers.

  • En série.parseInt () lit les caractères du tampon série jusqu'à ce qu'il rencontre un caractère non nuclérique, puis convertit les chiffres accumulés en entier.
  • En série.Parseint (lookahead) fonctionne de la même manière que la série.parseInt (), mais regarde vers l'avenir pour le personnage suivant pour déterminer quand arrêter la lecture.
  • En série.Parseint (Lookahead, ignore) fonctionne de la même manière que la série.ParseInt (Lookahead), mais ignore également le ou les caractères spécifiés lorsqu'ils sont rencontrés pendant l'analyse.

Paramètres

Dans cette fonction, il n'y a pas de paramètres. Il lit l'entrée du moniteur série et se convertit en un entier.

lookahead: C'est le mode qui est utilisé par le programme Arduino pour regarder vers l'avenir pour un entier dans le datastream à venir. Les types de données autorisés sont LookaHeadMode.

Voici la liste des valeurs autorisées:

  • TOUT PASSER: Ceci est le mode par défaut pour la fonction et tous les caractères sont ignorés à l'exception des chiffres ou d'un signe moins.
  • Skip_none: Pendant ce mode, rien n'est ignoré, et le flux est analysé comme il l'est à moins que le caractère en attente ne soit valide.
  • Skip_whitespace: Dans ce mode de fonction, tous les espaces, y compris les onglets et les flux de lignes, ou le retour du chariot sont ignorés.

ignorer: Cela sautera le personnage spécifié à l'intérieur de la recherche. Le type de données autorisé est char. Par exemple, il peut sauter les mille diviseurs.

Retour

Cette fonction donne le prochain entier valide. Le type de données de la valeur retournée est longue.

Si aucune entrée numérique n'est donnée à cette fonction, elle renverra la dernière valeur entière valide qu'il a lue. Si aucune entrée n'est reçue, la fonction renvoie zéro.

Exemple de code Arduino

Code ci-dessous couvre l'utilisation de la série.Fonction PARSEINT ():

int Val;
void setup()
En série.commencer (9600);

VOID LOOP ()
Pendant que (série.disponible () == 0)
// attendez la saisie de l'utilisateur

val = série.parseInt ();
En série.print ("Vous avez entré:");
En série.println (val);

Dans ce code, une boucle de code est utilisée qui attend la saisie des utilisateurs du moniteur série. Une fois qu'il a reçu la saisie, il utilise la série.Fonction ParseInt () pour le convertir en entier. Il imprime ensuite la valeur entrée au moniteur série.

Sortir
En sortie lorsque nous envoyons une valeur de chiffre, ce numéro est renvoyé mais lorsque nous envoyons un alphabet, un zéro est renvoyé.

Limites de la série.parseInt ()
La série.La fonction parseInt () est limitée aux valeurs entières. La fonction ne prend en charge que les valeurs d'entrée qui sont des entiers. Il ne peut pas gérer les nombres à virgule flottante ou décimaux.

Différence entre la série.parseInt () et série.lecture () fonction arduino

La série.parseInt () et série.Les fonctions read () sont toutes deux des fonctions intégrées dans le langage de programmation Arduino qui sont utilisées pour lire les entrées du moniteur série. Cependant, ils diffèrent dans leur comportement et le type de données qu'ils renvoient.

En série.lire()
Le En série.lire() La fonction lit un seul octet de données du moniteur série et les renvoie comme une valeur entière.

La fonction ne prend aucun paramètre. Il lit un seul octet de données du moniteur série et le renvoie comme une valeur entière entre 0 et 255. En cas de données, il retournera -1.

En série.parseInt ()
D'un autre côté, le En série.parseInt () La fonction lit une séquence de caractères ASCII du moniteur en série et les convertit en valeur entière.

La fonction ne prend aucun paramètre. Il lit une séquence de caractères ASCII du moniteur en série et les convertit en valeur entière. Si aucun caractère numérique n'est reçu, la fonction donnera la dernière valeur entière valide qu'il a lue. Si aucune entrée n'est reçue, la fonction renvoie zéro.

Conclusion

La série.La fonction parseInt () lit les entrées du moniteur de série un caractère à la fois jusqu'à ce qu'il détecte un caractère non nucère. Il convertit ensuite le caractère numérique en entier. Pour plus de détails sur cette fonction, l'exemple de code donné dans l'article vous guidera.