Block
Der solange (millis) Block ist eine Sonderform der Schleifen. Die Schleife wird nur eine bestimmte Zeit lang
ausgeführt. Diese Zeit wird unter Millisekunden eingetragen. Die Variable, die hier übergeben wird muss eine ganzzahlige,
analoge Variable sein. Wenn der Block ausgeführt wird, dann bekommt diese Variable die Zeit zu welcher der Block erreicht wurde zugewiesen.
Die "Zeit" meint hier die Zeit in Millisekunden, die vergangen ist seitdem der Microcontroller mit der Ausführung des Programms begonnen hat.
Millisekunden
Der Millisekunden Parameter gibt die Zeit in Millisekunden vor, in der die Schleife bearbeitet werden soll. Hier kann ein fester Wert oder eine Variable eingesetzt werden.
Es muss sich um eine ganze Zahl handeln.
Code
Im Code wird der Block mit einer while Schleife realisiert. Zuvor wird die als Parameter übergebene
Variable, die standardmäßig "ZeitVariable" genannt wird, wird auf den aktuellen Zeitwert gesetzt.
Dazu wird der Befehl millis() verwendet.
Die Abbruchbedingung der while Schleife ist hier ein Vergleich der ZeitVariable addiert mit
mit dem Parameter Millisekunden, der mit der neuen "aktuellen Zeit" zum Beginn des Schleifendurchgangs.
Das heiß, wenn die angegebenen Millisekunden abgelaufen sind, wird die Schleife nicht mehr
ausgeführt.
So würde der Code aussehen, wenn die Variable "ZeitVariable" genannt wurde und 3000 Millisekunden übergeben wurden.
Unter Befehle werden dann natürlich die entspreschenden Befehle eingetragen, die in der Schleife ausgeführt werden sollen.
int ZeitVariable = millis();
while(ZeitVariable + 3000L >= millis()) {
Befehle
}