Opérateur “|” utilisation est c framboise pi

J’utilise framboise pi pour lire des données gyroscopiques. Je suis nouveau mais j’ai compris jusqu’à présent tout ce sur quoi je me base en plus de l’utilisation de “|” en elle. Lorsque vous le regardez, il indique son opérateur “bitwise OR” mais dans ma situation, cela n’a aucun sens, puis je ne comprends pas encore les explications fournies par Wikipedia.

La ligne qui l’utilise ressemble à ceci

readBlock(0x80 | OUT_X_L_G, sizeof(block), block); 

readBlock est une fonction définie par l’utilisateur comme suit.

 readBlock(uint8_t command, uint8_t size, uint8_t *data) { int result = i2c_smbus_read_i2c_block_data(file, command, size, data); } 

L’expression 0x80 | OUT_X_L_G 0x80 | OUT_X_L_G renvoie une valeur de OUT_X_L_G avec un bit numéro 7 défini:

 OUT_X_L_G = xxxx xxxx bitwise or 0x80 = 1000 0000 --------------------- result = 1xxx xxxx 

La logique qui sous-tend l’appel de fonction doit être déterminée par le contexte que vous ne fournissez pas.