Programmer l’Arduino – Les types de données
Les types de données dans C se réfèrent à un système étendu utilisé pour déclarer des variables ou des fonctions de différents types. Le type de variable détermine la quantité d’espace qu’il occupe dans le stockage et la manière dont le motif de bits stocké est interprété.
Le tableau suivant fournit tous les types de données que vous utiliserez lors de la programmation Arduino.
short | float | char | Unsigned char | byte | double | Unsigned int | String-object |
int | Unsigned long | void | Boolean | long | array | String-char array | word |
Void
Le mot-clé void est utilisé uniquement dans les déclarations de fonction. Cela indique que la fonction ne retournera aucune information à la fonction à partir de laquelle elle a été appelée.
Exemple :
Void Loop ( ) { // le reste du code }
Boolean
Un booléen prend une des deux valeurs, vraies ou fausses. Chaque variable booléenne occupe un octet de mémoire.
Exemple :
boolean val = false; // déclaration de variable de type boolean et l'initialiser avec false boolean state = true; // déclaration de variable de type boolean et l'initialiser avec true
Char
Un type de données qui prend un octet de mémoire qui stocke un caractère comme ceci: ‘A’ et pour plusieurs caractères on utilise des guillemets doubles: « ABC ».
Cependant, les caractères sont stockés sous forme de nombres. Vous pouvez voir l’encodage spécifique dans le diagramme ASCII. Cela signifie qu’il est possible d’effectuer des opérations arithmétiques sur des caractères, dans lesquels la valeur ASCII du caractère est utilisée. Par exemple, ‘A’ + 1 a la valeur 66, puisque la valeur ASCII de la lettre majuscule A est 65.
ASCII 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US |
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ _
|
97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 |
b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ DEL |
161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 |
¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ® ¯ ° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ |
193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 |
Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß |
Exemple :
// déclaration de variable de type char et l'initialiser avec le caractère a char chr_a = ‘a’; // déclaration de variable de type char et l'initialiser avec la valeur 100 char chr_d = 100;
Unsigned char
unsigned char est un type de données non signé qui occupe un octet de mémoire. Le type de données unsigned char code les nombres de 0 à 255.
Exemple :
// déclaration de variable de type unsigned char et l'initialiser avec le caractère p unsigned char chr_p = 111
byte
Un byte (octet) stocke un nombre non signé de 8 bits, de 0 à 255.
Exemple :
// déclaration de variable de type byte et l'initialiser avec 66 byte m = 66;
Int
int est le principal type de donnée pour le stockage des nombres. Int stocke une valeur de 16 bits (2 octets). Ceci donne une portée de -32,768 à 32,767 (valeur minimale de -2 ^ 15 et une valeur maximale de (2 ^ 15) – 1).
La taille de int varie d’un tableau à l’autre. Sur Arduino Due, par exemple, un int stocke une valeur de 32 bits (4 octets). Cela donne une plage de -2.147.483.648 à 2.147.483.647 (valeur minimale de -2 ^ 31 et une valeur maximale de (2 ^ 31) – 1).
Exemple :
// déclaration de variable de type int et l'initialiser avec 100 int i = 100;
Unsigned int
unsigned int (entiers non signés) sont identiques à int dans la manière dont ils stockent une valeur de 2 octets. Au lieu de stocker des nombres négatifs, cependant, ils ne stockent que des valeurs positives, ce qui donne une portée utile de 0 à 65 535 (2 ^ 16) – 1). La carte Arduino Due stocke une valeur de 4 octets (32 bits), allant de 0 à 4,294,967,295 (2 ^ 32 – 1).
Exemple :
// déclaration de variable de type int non signé et l'initialiser avec 100 unsigned int i = 100;
Float
Le type de donnée pour le nombre à virgule flottante est un nombre qui a un point décimal. Les nombres de points flottants sont souvent utilisés pour approximer les valeurs analogiques et continues car elles ont une plus grande résolution que les nombres entiers.
Les nombres de points flottants peuvent être aussi importants que 3.4028235E + 38 et aussi bas que 3.4028235E + 38. Ils sont stockés en tant que 32 bits (4 octets) d’informations.
Exemple :
// déclaration de variable de type float et l'initialiser avec 2.954 float nbr = 2.954;
Double
Sur la carte Arduino Uno et d’autres cartes basés sur ATMEGA, le nombre à virgule flottante à double précision occupe quatre octets. C’est-à-dire que double implémentation est exactement la même que celle du float, sans gain de précision. Sur l’Arduino Due, les doubles ont une précision de 8 octets (64 bits).
Exemple :
// déclaration de variable de type double et l'initialisation avec 99.254 double nbr = 99.254;
Short
short est un type de données 16 bits. Sur tous les Arduinos (basé sur ATMega et ARM), short stocke une valeur de 16 bits (2 octets). Ceci donne une portée de -32,768 à 32,767 (valeur minimale de -2 ^ 15 et une valeur maximale de (2 ^ 15) – 1).
Exemple :
// déclaration de variable de type short et l'initialiser avec 22 short var = 22;
Long
Les variables de type long sont des variables de taille étendue pour le stockage des nombres de 32 bits (4 octets), de 2 147 483 648 à 2 141 483 647.
Exemple :
// déclaration de variable de type long et l'initialisation avec 958472 long vitesse = 958472;
Unsigned long
Les variables de type unsigned long sont des variables de taille étendue pour le stockage de numéros de 32 bits (4 octets). Contrairement aux variables de type long, les longs non signés ne stockeront pas les nombres négatifs, ce qui leur fera passer de 0 à 4,294,967,295 (2 ^ 32 – 1).
Exemple :
// déclaration de variable de type unsigned long, est initialisée avec 98563247 unsigned long vitesse = 98563247;
Word
Sur la carte Arduino Uno et d’autres cartes basés sur ATMEGA, un mot stocke un numéro non signé de 16 bits. Sur la carte Arduino Due and Zero, il stocke un numéro non signé de 32 bits.
Exemple :
// déclaration de variable de type word, est initialisée avec 222 word w = 222;