Programmierung des Mikrocontrollers mit C



3. Register effektiver programmieren

oder:    "Ich bin zu faul zum Rechnen!"
oder:    "Wie setze/lösche ich ein bit ohne die anderen bits im Register zu verändern?"



Im vorangegangenen Kapitel hast Du gelernt:

  • wie man mit Hilfe des Datenrichtungsregisters einen Mikrocontrolleranschlußpin zum Ausgang macht

  • und wie man mit Hilfe des Port-Registers diesen Pin HIGH und LOW ausgeben lassen kann

Dabei haben wir Binärzahlen benutzt.

Der Nachteil war bisher die umständliche Rechnerei.

Das kann man vermeiden, wenn man mit sogenannten logischen Verknüpfungen arbeitet, die da wären: UND, ODER, NICHT.

Außerdem schaffen es die folgenden Vorgehensweisen, in einem Register ein Bit zu setzen/löschen, ohne die anderen Bits im Register zu verändern.



Das geht so:

Setzen des 0. Bits im PORT C:      PORTC |= _BV(PC0);

Löschen des 0. Bits im PORT C:   PORTC &= ~_BV(PC0);


Das kannst Du Dir einfach merken oder die ausführliche Erklärung hier durchlesen.



weiter