Ähnliche oder gleiche Befehle, die öfter genutzt werden kann man besser in Funktionen ausgliedern.
Für unseren Kaffeeautomaten wird beispielsweise bei der Auswertung des Geldeinwurfs jedes Mal zunächst überprüft, ob der Restbetrag noch ausreicht, eine passende Meldung ausgegeben, ggf. das Getränk ausgegeben und der Betrag entsprechend belastet.
Den Code für diese Befehlfolge muss man, wenn man eine Funktion hierfür schreibt, nur einmal programmieren (und im Speicher des Mikrocontrollers ablegen) und diese Funktion dann bei der Wahl eines Getränks aufrufen.
Wir habe in unserem Beispiel zwar nur 3 Getränke zur Auswahl um die Anwendung übersichtlich zu halten.
Welche Einsparung man bei 20 Getränken erhielte kann man sich aber leicht vorstellen.
2 Vorteile von Funktionen
- Das Programm wird durch Funktionen strukturierter.
Wenn zur Verwendung einer Befehlsfolge eine Funktion genutzt wird und die Befehlfolge dann anschließend doch noch geändert werden soll, dann muss man diese Änderung nur einmal vornehmen – eben in dieser Funktion. - Das Programm wird kleiner.
Mikrocontroller-Steuerungen sind häufig mit relativ wenig Speicher ausgestattet. Diesen Speicher muss man effektiv nutzen. Auch unser Emulator hat eine Beschränkung des Speichers, und zwar auf 2K Programmspeicher. Mit unseren derzeitigen Programmen stoßen wir schon knapp an diese Grenze.
Was sind Funktionen
Eine Funktionen, die wir schon kennen, ist die Funktion main(), die direkt zu Beginn vom Mikrocontroller aufgerufen wird.
Weiter Funktionen können definiert und dann innerhalb von main() aufgerufen werden.
In dem Video zeige ich, wie man Funktionen definiert, sie dann aufruft und wie man Parameter übergibt und Rückgabewerte zurückgibt und auswertet.
Das Video
Schau Dir zunächst einmal das Video an. Hier geht es zunächst einmal um eine grobe Einordnung des Themas Funktionen.
Jetzt bist Du wieder an der Reihe.
Die „Hausaufgabe“ ist dieses Mal etwas lose definiert.
Versuche einmal mit diesen Funktionen etwas herum zu experimentieren. Bau also zunächst einmal das Beispiel nach.
Vielleicht fallen Dir ähnliche Aufgabenstellungen ein, die Du mit Funktionen realisieren kannst. An der einen oder anderen Stelle wirst Du wahrscheinlich auf Probleme stoßen, die wir hier noch nicht behandelt haben.
Das stört jedoch nicht – im Gegenteil. Das könnte Dir helfen beim Verständnis helfen, wenn es in den nächsten Folgen um die Feinheiten beim Gebrauch von Funktionen geht.
Dieser Artikel ist Teil des Mikrocontroller-Kurses auf ET-Tutorials.de.
[ >> Hier geht es zurück zur Übersichtsseite des Mikrocontroller-Kurses .]