afin d' economiser de la memoire et / ou de limiter des erreurs quand on declare un tableau d ' etat de pins , qui ne peuvent donc prendre que HIGH ou LOW , il vaut mieux faire :
bool tableau_Etat_Relais [8]; // etat des pins
ou bien :
uint8_t tableau_Etat_Relais [8]; // etat des pins
ou bien encore :
boolean tableau_Etat_Relais [8]; // etat des pins
j ' ai cherché sur internet , mais les reponses en anglais , ne sont pas toujours facile a comprendre
Le 1 et le 3 sont strictement identiques (bool et boolean c'est la même chose).
Sur les processeur avr les booleens prennent un octet donc les trois tableaux prennent la même place mémoire.
Pour le vérifier il suffit de faire Serial.println(sizeof tableau_Etat_Relais);
curieux qu on fasse la meme chose de 3 manieres differentes ...
bool et boolean je veux bien , car boolean ca vient de l ' IDE arduino basé sur bool en C .
avec un int , on peut mettre , mais surtout recuperer autre chose que 0 ou 1 , non ?
c ' est donc different , mais si on cherche un bool , le resultat sera le meme , si j' ai bien compris .
bien sur l ' inverse on veut un byte ( uint_8 ) n ' est pas vrai ?
iznobe:
on peut donc dire que les 3 sont pareils ?
Pas tout à fait. Les trois tableaux ont la même taille en mémoire mais dans un bool ne peut contenir que la valeur true ou false (0 ou 1) alors que l'uint8_t peut contenir une valeur entre 0 et 255.
Si tu as huit variables booléennes, et que tu veux minimiser la taille mémoire, tu mets tous tes booléens dans un byte et tu affectes les bits à ces booléens.
Arduino dispose de fonctions comme setbit et les opérations binaires pour jouer avec ça.