Array-Lösung mit Löschen des Bits

Nachdem wir in der vergangenen Folge die Funktion Eingabe mit Hilfe eines Arrays realisiert haben, ist die Aufgabe, das jeweilige Portbit nach der Bearbeitung wieder zu löschen noch offen.

Dies möchte ich in dieser Folge nun nachholen.

In der Funktion Eingabe() steht uns lediglich die Schachtnummer, in der eine Münze eingeworfen wurde, zu Verfügung. Mit Hilfe dieser Schachtnummer muss nun das entsprechende Portbit – und zwar nur dieses Portbit ! – zurückgesetzt werden.

Bitweises Löschen des Portbits

In der Folge über die Bitweise Manipulation also das Bitweise Setzen und Löschen des Ports habe ich ja bereits den Mechanismus vorgestellt, wie man mit dem Operator & einzelne Bits zurücksetzen kann.

Die Maske hierfür müssen wir uns mit der Information über die Schachtnummer nun selbst zusammenbauen.

Der SHIFT-Operator

Wie bereits in der letzten Folge vorbereitet, kann man dies mit dem SHIFT-Operator << prima machen. In dem heutigen Video zeige ich, wie man das gewünschte Bitmuster zusammenstellen kann.

Hierzu kann man einfach eine 1 (binär gedacht als 00000001) soweit wie gewünscht nach links schieben. Man erhält 1 Byte mit 0, bei dem nur an der gewünschten Stelle eine 1 steht. Zieht man diesen Wert anschließend von einer 0xFF (binär gedacht 11111111) ab, erhält man die gewünschte Maske, z.B. 11111101.

Mit Hilfe dieser Maske kann man dann, wie in der Folge zur Bitweise Manipulation,  also das Bitweise Setzen und Löschen des Ports, gezeigt, das gewünschte Portbit zurückzusetzen. Alle anderen Portbits werden nicht verändert.

Noch einfacher durch das Bitweise Invertieren

Am Ende des Videos zeige ich noch, wie man die Maske noch eleganter zusammenstellen kann. Durch das Bitweise Invertieren der „geschifteten 1“ lässt sich die Maske sehr einfach erstellen.

Die Details im folgenden Video:

Noch Fragen zum Video?


Hast Du noch Fragen zu diesem Thema oder auch zu anderen Themen der Elektrotechnik?

Nutze den kostenlosen Elektrotechnik VIDEO-Kurs um fit in der Elektrotechnik zu werden.

Kostenloser Elektrotechnik VIDEO-Kurs

Dieser Artikel ist Teil des Elektrotechnik VIDEO-Kurses hier auf ET-Tutorials.de.

Falls Du noch kein Kursteilnehmer bist findest Du hier weitere Informationen zum VIDEO-Kurs und zur Anmeldung.

Dieser Artikel ist Teil des Mikrocontroller-Kurses auf ET-Tutorials.de.
[ >> Hier geht es zurück zur Übersichtsseite des Mikrocontroller-Kurses .]