Convertir un entier en chaîne dans Arduino
De nombreux programmeurs novices ont du mal à convertir des entiers en chaînes et vice-versa en raison de la mémoire par cœur d’un exemple particulier dans un livre. Nous créerons une feuille de route simple mais pratique pour résoudre des problèmes comme ceux-ci à l’avenir.
Tout d’abord, définissons les termes nécessaires avant de procéder au code.
Un entier est un mot mathématique définissant un ensemble de nombres entièrement naturels. Par exemple, un nombre négatif comme -2 est un entier, 0 est un entier, bien qu’il ne soit ni positif ni négatif. De plus, tous les nombres naturels positifs sont également des nombres entiers. Cependant, faites attention qu’un nombre rationnel, irrationnel et imaginaire ne relève pas de son parapluie. Dans un langage de programmation, la variable int
stocke des entiers.
Une chaîne en C++, en revanche, n’est qu’un tableau unidimensionnel de caractères. Par exemple, le mot HU
est une chaîne de deux caractères. La variable chaîne stocke des caractères. La classe String existe également, mais c’est un peu complexe à ce stade.
Expliquons-le dans un code simple.
Serial.begin(9600); // Baud rate for communication, sending bits at a rate of
// 9600 bits/sec.
char a[] = {72, 85}; // define two integer in an array.
Serial.println(a); // Prints the output a.
Avant de commencer à expliquer, il est nécessaire de noter que ce code nécessite un Arduino USB en direct connecté au PC pour que le moniteur série affiche les résultats.
Le débit binaire est de 9600, ce qui est nécessaire. L’augmenter peut perturber le débit et la sortie deviendra erratique. Le code entier est un entier, un caractère et des chaînes sur 3 lignes. Les 72 et 85, deux entiers, sont traités à l’aide de la variable char et transformés en mots à l’aide du code ASCII. Après avoir récupéré ces données dans la bibliothèque, la commande Serial.println
envoie la sortie au moniteur série. Ces deux caractères ou alphabets constitueraient ici une chaîne mais ne la définiraient pas nécessairement.
Le moniteur imprimera HU
pour l’affichage. Vous pouvez essayer de changer la valeur et voir le résultat par vous-même.
int i = 72; // Assigns an integer value to i
char b[] = {i}; // the integer value has been assign as a variable to b
Serial.println(b);
Maintenant, cet exemple n’est pas votre exemple typique. Il s’agit d’une simple conversion d’entier en caractère et vous pouvez élaborer davantage le code pour introduire des chaînes si vous voulez devenir complexe.
Explication des variables entières, chaînes et caractères
Le dernier exemple est un peu plus sophistiqué:
int h = 72; // Assigning integer.
int j = 85;
char c[] = {h,
j}; // Inputting the variable h and j into the character variable c
String(z) = c; // Producing a string.
Serial.println(z);
Commençons par la première ligne, en affectant une valeur entière simple à h
. Il en va de même pour j
. De plus, la variable char c
sous-ensemble ces deux variables et les convertit d’entier en HEX.
Article connexe - Arduino String
- Concaténer des chaînes dans Arduino
- Fonction Arduino strcmp
- Fonction Arduino strcpy
- Chaîne divisée dans Arduino
- Comparer les chaînes dans Arduino
- Arduino convertir la chaîne en caractères