ich habe eine Frage zum Bereich void loop(). Dort habe ich mehrere Methoden, die hintereinander ausgeführt werden. Nach dem ersten Durchlauf würde ich gerne die erste Methode in der Reihe so lange überspringen, bis eine Eingabe in der Methode erfolgt, bzw. die Methode bedient wird.
Hat hier jemand einen Vorschlag für mich, wie ich das realisieren könnte?
Vielen Dank schonmal im Voraus
In meinen Programmen wird diese Entscheidung meist IN den Funktionen/Methoden getroffen, und nicht VOR dem Aufruf. Bei mir entscheidet die Funktion/Methode selber, wann sie was tut.
Leitsatz:
Keine Entscheidungen in loop
Keine Schleifen in loop
Dort habe ich mehrere Methoden, die hintereinander ausgeführt werden.
combie:
In meinen Programmen wird diese Entscheidung meist IN den Funktionen/Methoden getroffen, und nicht VOR dem Aufruf. Bei mir entscheidet die Funktion/Methode selber, wann sie was tut.
Ja...stimmt, das geht so auch.
Nur welchen Vorteil hat es, wenn die Entscheidung in der Funktion getroffen wird ?
Der Stackframe wird bei jedem Funktionsaufruf aufgebaut.
Mit seinen Push und anschießenden Pop
Bei ca 30 Registern, können das schon eine Anzahl Takte sein....
Jeder Push oder Pop verbraucht 2 Prozessortakte
Pro Register gehen da also 4 Takte drauf.
So ist jeder Funktionsaufruf mit Kosten verbunden.
Ja, der Kompiller optimiert das auf ein Minimum.
Aber das Prinzip liegt in der Natur der Sache.