Arduino est programmé en utilisant le langage C ou C ++; La plupart de la syntaxe de ces deux langues est la même. Les fonctions utilisées dans le langage C peuvent facilement être implémentées dans Arduino Programmation L'un d'eux est STRCMP qui compare deux caractères différents. Découvrons comment faire cela dans Arduino IDE.
fonction strcmp ()
La fonction strcmp () dans la programmation Arduino compare deux chaînes différentes et renvoie trois valeurs en fonction des caractères à l'intérieur de la chaîne. La fonction de compare de chaîne vérifie les valeurs ASCII des caractères présents dans les deux chaînes et renvoie un nombre positif, négatif ou zéro dans la sortie.
Le Strcmp () compare les deux caractères String 1 et String 2 par caractère. Il continuera de comparer jusqu'à ce qu'il trouve un caractère différent entre les deux cordes. Si le premier caractère des deux cordes est égal, il se déplacera vers le second et continuera de comparer jusqu'à ce qu'il trouve un caractère différent. Dans le cas où si ce n'est un seul caractère différent, zéro sera retourné.
Syntaxe
La syntaxe de la fonction strcmp () est donnée ci-dessous:
int strcmp (const char * string1, const char * string2);Dans la syntaxe indiquée ci-dessus String1 et String2, il y a deux chaînes dont les caractères doivent être comparés un par un.
Valeurs de paramètres
La fonction strcmp () prend deux paramètres:
Valeurs de retour
Les caractères sur le clavier ont des valeurs ASCII uniques, donc le strcmp () Les fonctions renvoient trois valeurs différentes en fonction des caractères de chaîne:
Cette fonction comparera chaque caractère de la chaîne avec chaque caractère d'une autre chaîne et se poursuivra jusqu'à ce qu'il arrive tout caractère différent qui est présent dans une seule chaîne basée sur les valeurs ASCII.
Exemple de code
La fonction strcmp () fonctionne en comparant les valeurs ASCII des caractères, pour référence, voir le tableau ci-dessous, nous avons pris deux caractères je & u. Les deux ont des valeurs ASCII différentes avec "je" avoir 105 et u valeur égale à 117. Ce qui signifie la valeur ASCII de je est plus petit que u.
De même, des lettres majuscules I et U auront une valeur ascii ayant u.
Personnage ASCII | DÉC | Hexagonal | OCT |
je | 105 | 69 | 151 |
u | 117 | 75 | 165 |
En utilisant un exemple, apprenons comment fonctionne strcmp ().
void setup()Dans ce code, nous définissons d'abord une nouvelle variable sortir Pour stocker la valeur de retour de la fonction strcmp (). Ensuite, nous avons initialisé la communication série en définissant le taux de bauds. Les deux chaînes suivantes sont définies.
La fonction strcmp () comparera les deux chaînes et stockera la sortie dans les variables créées au début. Pour imprimer la sortie sur la série de moniteur série.La fonction println est utilisée.
Sortir
Nous pouvons classer la sortie de trois manières différentes:
1. Lorsque la sortie est positive
Ici, la sortie est positive car la valeur ASCII de la chaîne 1 est supérieure à la chaîne 2.
2. Lorsque la sortie est négative
Ici, la sortie est négative car la valeur ASCII de la chaîne 1 est inférieure à la chaîne 2.
3. Lorsque la sortie est nul
Ici, la sortie est zéro car la chaîne 1 est égale à la chaîne 2.
Note: Plusieurs autres fonctions sont également disponibles qui comparent deux chaînes telles que:
Conclusion
Cet article vous aidera à améliorer et à améliorer les compétences en programmation Arduino. Si quelqu'un a une compréhension de base de la langue C / C ++, il sera facile de programmer la carte Arduino. La fonction strcmp () compare deux chaînes différentes et renvoie des nombres positifs, négatifs ou zéro.