bitSet()
Description :
Définit (écrit un 1 dans) un bit d’une variable numérique à une position spécifique. Utile pour la manipulation de bits de bas niveau, notamment avec des registres matériels, des indicateurs ou des E/S mappées en mémoire.
Syntaxe :
Utilisez la fonction suivante pour définir l’état du bit n sur la position x de la variable:
bitSet(x, n)
Paramètres :
La fonction admet les paramètres suivants :
- x : la variable numérique dont le bit doit être défini.
- n : quel bit définir, en commençant à 0 pour le bit le moins significatif (le plus à droite).
Retours :
La fonction renvoie la valeur de la variable numérique après le bit à la position n soit réglé.
Exemple de code :
Modifier un octet donné x en tournant son 5ème bit vers 1:
uint8_t x = 0b10000001; // octet initial void setup() { Serial.begin(9600); int index = 5; // index du bit à modifier x = bitSet(x, index-1); Serial.print("L'octet résultant est: "); Serial.println(x, BIN); } void loop() { }
Note :
C’est ce que la fonction bitSet() fait en coulisses :
#define bitSet(value, bit) ((value) |= (1UL << (bit)))
Source : https://docs.arduino.cc/language-reference/en/functions/bits-and-bytes/bitSet/