Steuerung / Warten

solange (millis)

wiederhole
Für Erklärung auf einzelne Komponenten klicken.

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
}