Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
einleitung:methoden [2015/04/29 13:22] fbonowski |
einleitung:methoden [2016/01/21 12:45] (aktuell) |
||
---|---|---|---|
Zeile 10: | Zeile 10: | ||
Funktionen sind kleine "Unterprogramme". Sie können (optional) Eingabedaten entgegennehmen ("Parameter"), in einem Programmabschnitt etwas damit machen, und dann (optional) ein Ergebnis an den Programmteil, der sie aufgerufen hat, zurückgeben ("Rückgabewert"). | Funktionen sind kleine "Unterprogramme". Sie können (optional) Eingabedaten entgegennehmen ("Parameter"), in einem Programmabschnitt etwas damit machen, und dann (optional) ein Ergebnis an den Programmteil, der sie aufgerufen hat, zurückgeben ("Rückgabewert"). | ||
- | Sie haben dafür... | + | Auch die meisten Befehle von Arduino sind als Funktionen programmiert - so z.B. ''analogRead'', ''digitalWrite'' usw. |
+ | |||
+ | ==== Syntax: Wie baue ich mir eine eigene Funktion ==== | ||
+ | Um eine Funktion zu erstellen, müsst ihr sie in eurem Programm "deklarieren". Die Deklaration enthält folgende Angaben: | ||
* Einem //**Namen**//, unter dem ihr die Funktion aufrufen könnt (vor den Runden Klammern) | * Einem //**Namen**//, unter dem ihr die Funktion aufrufen könnt (vor den Runden Klammern) | ||
* Optional //**Parameter**//, die ihnen beim Aufruf übergeben werden. (in den runden Klammern | * Optional //**Parameter**//, die ihnen beim Aufruf übergeben werden. (in den runden Klammern | ||
Zeile 16: | Zeile 19: | ||
* Einen Codeabschnitt "**//Body//**", der ausgeführt wird, wenn die Funktion aufgerufen wird. | * Einen Codeabschnitt "**//Body//**", der ausgeführt wird, wenn die Funktion aufgerufen wird. | ||
+ | Das Ganze sieht dann in etwa so aus: | ||
<code c++> | <code c++> | ||
rückgabeTyp funktionsName(parameter1Typ parameter1Name, ...){ | rückgabeTyp funktionsName(parameter1Typ parameter1Name, ...){ | ||
Zeile 21: | Zeile 25: | ||
} | } | ||
</code> | </code> | ||
- | ==== Beispielfunktion: Blink mir ein "S" ==== | + | Falls ihr euch wundert: Ja - auch "setup" und "loop" sind Funktionen... |
+ | |||
+ | === Beispielfunktion: Blink mir ein "S" === | ||
Hier ein Beispiel für eine Funktion, die ein "S" auf der LED morst, wenn sie aufgerufen wird. | Hier ein Beispiel für eine Funktion, die ein "S" auf der LED morst, wenn sie aufgerufen wird. | ||
Sie braucht dafür keine Parameter und Rückgabe. | Sie braucht dafür keine Parameter und Rückgabe. | ||
Zeile 56: | Zeile 62: | ||
</code> | </code> | ||
- | === Mehr Flexibilität durch Parameter === | + | ==== Mehr Flexibilität durch Parameter ==== |
Etwas mehr Flexibiliät gewinnen wir, wenn wir die Funktion so schreiben, dass sie den Pin und die Geschwindigkeit als Parameter entgegen nimmt. | Etwas mehr Flexibiliät gewinnen wir, wenn wir die Funktion so schreiben, dass sie den Pin und die Geschwindigkeit als Parameter entgegen nimmt. | ||
Zeile 83: | Zeile 89: | ||
</code> | </code> | ||
- | === Informationen als Rückgabewert liefern === | + | ==== Informationen als Rückgabewert liefern ==== |
+ | In vielen Fällen wollen wir, dass ein wiederverwendbarer Programmteil | ||
==== Weitere Vorteile von Funktionen ==== | ==== Weitere Vorteile von Funktionen ==== |