Systèmes embarqués et firmware
En langage C, quelle écriture met à 1 uniquement le bit 3 du registre reg sans modifier les autres bits ?
- Areg |= (1 << 3);
- Breg = (1 << 3);
- Creg &= (1 << 3);
Afficher la réponse et l'explication
Réponse : A. reg |= (1 << 3);
« 1 << 3 » vaut 00001000 en binaire : c'est une valeur (masque) dont seul le bit 3 vaut 1. En la combinant par OR (|) avec la valeur du registre, le bit 3 devient toujours 1 et les autres bits conservent leur valeur. Une affectation (=) écraserait aussi les autres bits avec des 0 et détruirait d'autres réglages du périphérique. Les bits sont numérotés à partir de 0 pour le bit de poids faible.
Continuer : 9 autres questions sur Systèmes embarqués et firmware