Bei der Aufgabenstellung zur Auslagerung von Code in Funktionen habe ich ja schon angedeutet, dass man nicht unbedingt die Münzschachtnummer UND den Wert der Münze bei jedem Funktionsaufruf übergeben muss.
Wenn man weiß in welchen Münzschacht eine Münze liegt, kennt man ja auch den Wert der Münze.
Bei der ersten Lösung haben wir der Einfachheit beide Informationen an die Funktion Eingabe() übergeben und dort ausgewertet.
Im folgenden soll es darum gehen, nur die Nummer des Münzschachts zu übergeben und dann aus dieser Information, den Wert der Münze zu ermitteln.
Array
Dies lässt sich einfach über sogenannte Arrays realisieren.
In einem Array lassen sich Daten gleichen Typs in einem Feld anordnen.
Die einzelnen Daten lassen sich dann über einen fortlaufenden Index ansprechen.
Also genau das, was wir brauchen.
Beim Kaffeeautomaten lassen sich die einzelnen Münzschächte durchnummerieren. Die Zuordnung Schacht-Nummer und Münzwert lässt sich dann über ein Array realisieren.
Im Video zeige ich die
- Definition des Arrays
- die Möglichkeiten der Initialisierung
- und das Auslesen des Arrays
Nun bist Du wieder an der Reihe
Das Array soll nun verwendet werden, um die Parameterübergabe an die Funktion Eingabe zu erleichtern. Es soll in folgenden nur noch der Index des Schachtes [0 ... 7] übergeben werden.
In der Funktion Eingabe() soll dann der korrekte Münzwert über das Array ermittelt werden und der Gesamtbetrag entsprechend erhöht werden.
Das Zurücksetzen des Ports ist nun etwas schwieriger, weil wir die Schachtnummer als Index von 0 bis 7 und nicht mehr als binärcodiertes Portbit zur Verfügung haben.
Kümmere Dich also noch nicht um das Zurücksetzen des Ports. Dies wird Inhalt des nächsten Artikels sein.
Dieser Artikel ist Teil des Mikrocontroller-Kurses auf ET-Tutorials.de.
[ >> Hier geht es zurück zur Übersichtsseite des Mikrocontroller-Kurses .]
Hat Dir der Artikel geholfen? - Dann hilf dem Artikel ;-)
|
Ähnliche Artikel
Folgende Artikel aus der gleichen Kategorie könnten Dich ebenfalls interessieren:Lösung für eine Funktion zur Münzeingabe Im heutigen Artikel möchte ich eine mögliche Lösung für die Aufgabe aus dem letzten Artikel, nämlich...
Kaffeeautomat-Funktion für die Münzauswertung Nach einem Ausflug in das Reich der Funktionen, geht es nun zurück zur Programmierung des Kaffeeauto...
Pointer und Arrays In einem der vorherigen Artikeln hatten wir schon einmal Arrays kennengelernt. Arrays sind nichts a...
Arduino Lernen – Digital Out mit SOS Nachdem im letzten Video die Grundlagen für das Ausgeben digitaler Signale über einen Port, Digital ...





{ 1 Kommentar… ihn unten lesen oder einen hinzufügen }
Hi,
ich und mein Partner von Social Web Blog wollten Dir viel Glück bei der Blog-WM wünschen. Wir sind übrigens auch dabei und zwar im Duell 14. Wenn Du magst kannst Du für uns abstimmen
Viele Grüße aus der Saar-Pfalz
SocialWebBlog.de / Konstantin