while erfüllt den gleichen Zweck wie die ➨for-Schleife.
Allerdings musst du dich selbst um das Hochzählen der Schleifenvariable kümmern.
Beispiel:
void setup()
{
Serial.begin(9600);
int i = 0;
while (i < 10)
{
Serial.println(i);
i++;
}
}
void loop()
{
// bleibt leer, Programm läuft nur einmal
}
Das Schaubild verdeutlicht den Ablauf einer while-Schleife:
Beispiel Gegenüberstellung for/while:
Eine LED soll dreimal blinken und dann zwei Sekunden pausieren:
Lösung mit for:
int LED = 7;
void setup()
{
pinMode(LED, OUTPUT);
}
void loop()
{
// die LED blinkt dreimal kurz
for (int i = 1 ; i < 4; i ++)
{
digitalWrite(LED, HIGH);
delay(200);
digitalWrite(LED, LOW);
delay(200);
}
// zwei Sekunden Pause
digitalWrite(LED, LOW);
delay(2000);
}
Lösung mit while:
int LED = 7;
void setup()
{
pinMode(LED, OUTPUT);
}
void loop()
{
int i = 1;
while(i < 4)
{
digitalWrite(LED, HIGH);
delay(200);
digitalWrite(LED, LOW);
delay(200);
// i um 1 erhöhen
i++;
}
digitalWrite(LED, LOW);
delay(2000);
}
for
Letzte Aktualisierung: