while

Lese­zeit: 2 Minu­ten

while erfüllt den glei­chen Zweck wie die ➨for-Schleife.

Aller­dings musst du dich selbst um das Hoch­zäh­len der Schlei­fen­va­ria­ble küm­mern.

Bei­spiel:

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 Schau­bild ver­deut­licht den Ablauf einer while-Schleife:

Bei­spiel Gegen­über­stel­lung for/while:

Eine LED soll drei­mal blin­ken und dann zwei Sekun­den pau­sie­ren:

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: 23. Aug 2020 @ 21:27