Forum: Mikrocontroller und Digitale Elektronik Pin-Zustand in Variable speichern


von Lokus P. (derschatten)


Lesenswert?

Ich möchte gerne mittels einer Variable ein Bit löschen bzw. setzen:

Das sieht dann in etwa so aus:
1
#define _I        (1 << PB4) | (1 << PB5)
2
3
      case 0:
4
        LEDS = _I | marker;          // I (00110000) -> ID
5
        if(get_key_short(ENC_TASTER))
6
        {
7
          val = 4;
8
          nSelect = 1;
9
        }

Die Variable marker füttere ich mit:
1
marker = (1 << PB7);

Jetzt würde ich gerne das Bit PB7 auf die gleiche Weise wieder löschen.

Der Logik nach müßte das so aussehen:
1
marker = ~(1 << PB7);

Das funkt aber nicht.

Wie kann ich das lösen?

von Julian B. (julinho)


Lesenswert?

> marker |= (1 << PB7);

> marker &= ~(1 << PB7);

von Lokus P. (derschatten)


Lesenswert?

perfekt! Danke!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.