|= und =

Gast
1. Fall
Zerlegen wir die erste Zeile:
MUX2 ist ein define für das dritte Bit im ADMUX Register. Demnach ist
MUX2 gleich 2, also könnte man auch schreiben (1<<2).
1<<2 bewirkt, dass eine 1 um zwei stellen nach rechts rückt, also aus
00000001b wird 00000100b.
In der ersten Zeile wird das komplette ADMUX-Register mit diesem Wert
überschrieben.


2. Fall
Im zweiten Fall mit ADMUX |= (1<<MUX2) oder ADMUX = ADMUX |(1<<MUX2)
wird bitweise ver-ODER-t. Das bedeutet, dass die bereits gesetzen Bits
im ADMUX Register nicht gelöscht werden, sondern nur das gewünschte Bit
gesetzt wird. Ein Beispiel mit ADMUX = 11010000b.
ODER
11010000b
00000100b
--------
11010000b


3. Fall
Nun wollen wir vielleicht dieses gesetzte Bit wieder löschen. Das
geschieht mit:
ADMUX &= ~(1<<MUX2);
- 1<<MUX2 ist wieder 00000100b
- Das ~ negiert die alle Bitts, also entsteht 11111011b
- Nun wird ge-UND-et
Z.B. mit ADMUX = 11010100b
UND
11010100b
11111011b
---------
11010000b


1. Fall liefert 00000100b
2. Fall liefert 11010100b
3. Fall liefert 11010000b

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.