Fonction arduino atoi

Fonction arduino atoi
Pendant la programmation des tableaux Arduino, nous devons d'abord obtenir une poignée sonore sur le langage C ou C ++ car la plupart des programmes Arduino héritent des fonctions de ces deux langues. L'une des fonctions largement utilisées est atoi () qui peut se transformer chaîne personnages int Avoir un nombre égal.

Quelle est la fonction atoi ()?

Le atoi () La fonction convertit les caractères de chaîne en valeur entière. Cette fonction cesse de lire plus loin lorsqu'il est rencontré par un premier caractère qui n'est pas un nombre. Dans atoi (), vous ne pouvez pas convertir des exposants ou des nombres décimaux.

Syntaxe

La fonction atoi () peut être définie comme:

int atoi (const char * str);

Paramètres

Cette fonction n'a qu'un seul paramètre, un chaîne (str) qui est transmis à la fonction. La clôture principale de ce paramètre de chaîne est que la fonction ne modifiera pas la chaîne d'entrée; il ne revient qu'en changeant son type en int comme une valeur numérique.

Valeurs de retour

Si la fonction atoi () rencontre une valeur de chaîne valide, elle renverra la même chaîne qu'un int avec des nombres égaux, mais au cas où une entrée non valide est là, la fonction renvoie 0 en sortie.

Exemple de code

void setup()

En série.commencer (115200);
int Val_1; / * Une nouvelle variable est définie * /
char String_1 [] = "1234"; / * Chaîne initiée * /
val_1 = atoi (string_1); / * La fonction atoi convertira la chaîne en entier * /
En série.print ("string_1 est égal à"); / * Chaîne imprimée sur moniteur série * /
En série.println (string_1);
En série.print ("string_1 converti en Integer =");
En série.println (Val_1); / * La sortie de la fonction atoi est imprimée en entier * /
En série.print ("string_1 multiplié par 2 (1234 * 2) ="); / * Pour vérifier que la chaîne est convertie en "int" le multiplier avec 2 * /
En série.println (Val_1 * 2);

VOID LOOP ()

Dans le code ci-dessus, nous avons décrit l'utilisation de la fonction atoi () dans la programmation Arduino. D'abord dans la fonction de configuration, la communication série est lancée en définissant le taux de bauds. Deux variables suivantes val_1 et String_1 est initié avec le type de données int et carboniser respectivement.

Pour convertir la corde en int atoi () La fonction est initialisée, en utilisant cette fonction, nous pouvons convertir n'importe quelle chaîne définie en int. Une fois la chaîne convertie, nous avons imprimé la sortie sur le moniteur en série. Dans la dernière étape, nous avons effectué une vérification rapide pour vérifier si la chaîne est correctement convertie en int ou non. Nous pouvons le faire en multipliant n'importe quel nombre avec int val_1.

Sortir

Le terminal de sortie affichera la chaîne initiée à l'intérieur de l'esquisse et une fois le chaîne est converti en int Nous vérifierons la sortie en le multipliant par un int.

Si une entrée valide est donnée à la fonction atoi () sous la forme de chaîne, il renverra un nombre entier égal à la chaîne passée. Si la chaîne n'a pas de numéro d'entrée valide, il renverra 0 en tant que sortie. Les chaînes peuvent généralement être converties en nombres en ayant les paramètres suivants:

  • Une chaîne créée entièrement à partir des chiffres ASCII '0123456789'.
  • Chaînes ASCII commençant par le personnage '+'
  • Chaîne contenant des chiffres ASCII et commencez par le caractère '-'.

Prenons un exemple: si une chaîne valide n'est pas donnée à atoi () Fonction, ce qu'il reviendra.

void setup()

En série.commencer (115200);
char String_2 [] = "LinuxHint"; / * String_2 est défini * /
int Val_2; / * la variable int Val_2 est initialisée * /
val_2 = atoi (string_2); / * Fonction atoi définie * /
En série.print ("string_2 est égal à");
En série.println (string_2); / * String_2 est imprimé sur le moniteur série * /
En série.print ("String_2 Converti en Integer =");
En série.println (Val_2); / * La sortie de la fonction atoi est imprimée * /

VOID LOOP ()

Ici, dans ce code, nous avons commencé par définir le taux de bauds pour commencer la communication série entre Arduino et PC. La ligne de code suivante décrit deux variables est de type de données int et la seconde décrit une chaîne "Linuxhint". Ensuite, en utilisant la fonction atoi, nous passerons ce caractère de chaîne à INT, mais cette sortie de temps sera nulle comme on le voit dans la section de sortie ci-dessous.

La raison d'obtenir cette sortie n'est pas une déclaration de chaîne valide comme discuté précédemment, le programme ne rendra que 0.

Sortir

La sortie affichera la chaîne initialisée et comme il n'y a pas d'argument d'entrée valide, la valeur de retour par atoi sera 0.

Conclusion

Ce tutoriel rapide vous guidera à l'aide de la fonction atoi () dans la programmation Arduino. En utilisant atoi (), nous pouvons convertir n'importe quelle chaîne en un int. En gardant à l'esprit qu'une entrée valide est donnée à une chaîne, sinon il renverra 0 en tant que sortie pour toutes les entrées non valides.