bit()
Description :
Créez un masque de bits avec un seul bit positionné à une position spécifique. Utile pour les opérations bit à bit, comme l’initialisation, l’effacement ou le test de bits spécifiques dans un octet ou un registre.
Syntaxe :
Utilisez la fonction suivante pour définir l’état du bit sur le n position:
bit(n)
Paramètres :
La fonction admet le paramètre suivant :
n : la position du bit dont la valeur doit être calculée. Notez que n doit être compris entre 0 et 31 (32 bits). La position 0 correspond au bit le moins significatif (le plus à droite).
Retours :
La fonction renvoie un octet non signé (alias uint8_t) avec uniquement le bit n défini sur 1 , et tous les autres sont réglés sur 0.
Exemple de code :
Modifie un octet donné x en tournant son 6ème bit vers 1 :
uint8_t x = 0b00000000; // initial byte void setup() { Serial.begin(9600); int index = 6; // index du bit à modifier x |= bit(index-1); Serial.print("L'octet résultant est: "); Serial.println(x, BIN); } void loop() { }
Note :
C’est ce que la fonction bit() fait en coulisses :
#define bit(n) (1 << (n))
Source : https://docs.arduino.cc/language-reference/en/functions/bits-and-bytes/bit/