Nach einem Ausflug in das Reich der Funktionen, geht es nun zurück zur Programmierung des Kaffeeautomaten.
Zur Erinnerung:
Der Kaffeeautomat hatte eine Münzeingabe, die alle europäischen Geldstücke vom 1 Ct Stück bis zum 2 € annimmt.
Dass dies zufällig 8 verschiedene Münzen sind, freut uns natürlich. So können wir die einzelnen Münzschächte über die Bits genau eines Bytes abfragen.
Eine mögliche Programmierung der Münzeingabe haben wir ja bereits besprochen und haben anschließend noch das Programm optimiert, so dass auch mehrere Münzen gleichzeitig bzw. schnell hintereinander eingeworfen werden können.
Das war durch das Bitweise Auslesen der Information möglich.
Schlanker Code
Das Programm funktionierte bis dahin so weit auch ganz gut. Es fällt jedoch auf, dass der Code zur Identifikation der einzelnen Münzen fast gleich ist.
Das Programm besteht daher aus sehr ähnlichen Programmteilen.
Eine ideale Voraussetzung, um diese Programmteile in eine Funktion zu integrieren und dann jeweils nur diese Funktion aufzurufen.
Im folgenden Video zeige am C-Programm, was ich damit meine.
Jetzt geht’s zur Sache
Und hier kommt Deine Aufgabe zur nächsten Woche.
Versuche die Funktion Eingabe() zu realisieren, so dass sie so flexibel ist, um mit den unterschiedlichen Münzen zurecht zu kommen. Es soll also in der Funktion Eingabe der korrekte Wert zum Betrag addiert und anschließend das zughörige Bit des Ports P1 zurückgesetzt werden.
Guck Dir zur Lösung der Aufgabe am besten noch einmal die älteren Videos zum Kaffeeautomaten und die Videos zur Verwendung von Funktionen (ab Video 22 Funktionen in C an.
Auch die Videos zur Variablenzuweisung, zur if-Abfrage und zur Bitweisen Manipulation können vielleicht helfen.
In der nächsten Folge werde ich eine mögliche Lösung vorstellen. Ich empfehle aber nicht bis dahin zu warten, sondern auf jeden Fall selbst eine Lösung zu versuchen. Durch diese Aufgabe wird vieles aus den vergangenen Artikeln wiederholt und zusammengefasst. Das ist für Dich eine ideale Möglichkeit um zu überprüfen, ob Du bis hierhin wirklich alles verstanden hast.
Dieser Artikel ist Teil des Mikrocontroller-Kurses auf ET-Tutorials.de.
[ >> Hier geht es zurück zur Übersichtsseite des Mikrocontroller-Kurses .]