Kostenloser Elektrotechnik VIDEO-Kurs


Grundlagen der Elektrotechnik, Gleichstromnetze und Berechnungsverfahren
Wechselstrom- und Drehstromnetze, elektrische Maschinen und Regelungstechnik
Digitaltechnik, Mikrocontrollertechnik und C-Programmierung


Bitweise Manipulation

Der Kaffeeautomat funktioniert ja schon im Prinzip. Aber zumindest beim Geldeinwurf gibt es noch eine kleine Schwierigkeit.

Daher möchte ich heute auf eine Problemstellung eingehen, die Tim in seinem Kommentar angesprochen hat:

  • Was passiert eigentlich, wenn jemand 2 oder mehr Münzen gleichzeitig einwirft?
  • Wie können wir unsere Software dahingehend verbessern, damit die Software auch damit umgehen kann?

Tim hat recht: Wenn jemand zwei Geldmünzen gleichzeitig einwirft, oder so schnell hintereinander, dass der Mikrocontroller aus welchem Grund auch immer, noch beschäftigt ist und die Eingabe einzelnen Münzen nicht schnell genug abarbeiten kann, gibt es ein Problem. Nur die erste Münze wird gewertet, der Werte der anderen eingeworfenen Münzen geht verloren.

Eine Lösung dieses Problems besteht darin, die Bits des Ports einzeln abzufragen.

So kann bestimmt werden, ob eine Münze eingeworfen wurde, unabhängig davon, ob zusätzlich auch noch weitere Münzen eingeworfen wurden.

In dem Video wird mit hexadezimalen Zahlen gerechnet. Wenn Du Dir den Umgang mit Hex-Zahlen und die teilweise kryptische Art der Variablenzuweisung noch einmal vergegenwärtigen möchtest, dann empfehle ich Dir vorab noch diese 4 Artikel

Binäre, dezimale und hexadezimale Zahlen

Bits, Bytes und Nibbles

Variablenzuweisung und modulo-Funktion

Variablenzuweisung (Teil2)

Nun aber zum Video über die bitweise Manipulation.



Nun bist Du wieder an der Reihe.

Deine Aufgabe ist es nun, ein Programm zu schreiben, das auch erkennt, wenn mehrere Münzen eingeworfen wurden.

Es ist hier wahrscheinlich einfacher, if-Abfragen statt switch-case-Abfragen zu nutzen.

Wichtig ist auch, dass Du, wenn Du ein Bit ausgewertet hast, nicht den gesamten Port zurückzusetzen, sondern nur das in Deinem Programm ausgewertete Bit.

Viel Spaß beim Programmieren!

In der nächsten Woche werde ich dann wieder eine mögliche Lösung zeigen.

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

Elektrotechnik muss nicht kompliziert sein.
Deshalb gibt es VIDEO-Tutorials.

Hat Dir der Artikel geholfen? - Dann hilf dem Artikel ;-)

Bitweise Manipulation:
1 Star2 Stars3 Stars4 Stars5 Stars
5,00 von 5 Punkten, basieren auf 4 abgegebenen Stimmen.
Stimme jetzt ab ! (auf die Sternchen klicken)
Loading ... Loading ...


Fragen und Antworten zu diesem Artikel und zu anderen Themen findest Du im ET-Tutorials Forum

Ähnliche Artikel

Folgende Artikel aus der gleichen Kategorie könnten Dich ebenfalls interessieren:

Kaffeeautomat-Funktion für die Münzauswertung Nach einem Ausflug in das Reich der Funktionen, geht es nun zurück zur Programmierung des Kaffeeauto...

Bitweises Auslesen eines PORTs Im heutigen Video zeige ich eine mögliche Lösung, wie man mit Hilfe eins bitweisen UND bzw. eines bi...

Programmierung der Münzeingabe In der vergangenen Folge wurde exemplarisch das Setzen und Löschen der ersten drei Bits des Kaffeeau...

Programmierung der Getränkeausgabe In der vergangenen Woche haben wir eine mögliche Lösung für eine Zähleinrichtung der Geldeingabe für...

Bits, Bytes und Nibbles Der  Mikrocontroller rechnet digital, also mit binären Werten. Um in diesen Wust von Nullen und Eins...