for

Beschreibung

Das for-Statement wiederholt die in Klammern nachfolgenden Anweisungen. Meistens wird eine Zählervariable verwendet, welche hochgezählt wird und die Schleife irgendwann beendet. Das for-Statement wird häufig zur Iteration über Arrays oder Listen von Daten oder Pins verwendet.

Syntax

for (initialization; condition; increment) { // Statement(s); }

Parameter

  • initialization: Passiert genau einmal am Anfang der Schleife.
  • condition: Wird bei jedem Schleifendurchlauf getestet. Wenn sie true ist, werden alle Statements in den Klammern ausgeführt und increment hochgezählt. Wenn die condition false ist, wird die Schleife abgebrochen.
  • increment: Wird hochgezählt, wenn die condition true ist.

Rückgabewert

Nichts.

Beispielcode

Eine LED wird über einen PWM-Pin gedimmt.

int PWMpin = 10; // LED in Serie mit 470-Ohm-Widerstand auf Pin 10 void setup() { // Nichts } void loop() { // Wiederhole 255 Mal: for (int i=0; i <= 255; i++){ // Schreibe den Wert von "i" auf den LED-Pin analogWrite(PWMpin, i); // Warte 10 Millisekunden delay(10); } }

※ Anmerkungen und Warnungen:

Die for-Schleife in C++ ist deutlich ausgeprägter als in anderen Sprachen wie z.B. BASIC. Einige oder sogar alle der 3 Parameter können weggelassen werden, allerdings sind die Strichpunkte immer nötig. Alle 3 Parameter können mit beliebigen Variablen belegt werden und jeden Datentyp inklusive float nutzen. Die Beispiele unten zeigen die Verwendung einiger Spezialformen der for-Schleife.

Eine Multiplikation im increment generiert ein logarithmisches Verhalten:

for(int x = 2; x < 100; x = x * 1.5) { println(x); }

Gibt aus: 2,3,4,6,9,13,19,28,42,63,94

LED hoch- und runterdimmen in einer Schleife:

void loop() { // Globale Zählervariable "x" int x = 1; // Laufe über die Variable solange i größer -1 ist und zähle i um x hoch for (int i = 0; i > -1; i = i + x){ // Schreibe auf den LED-Pin analogWrite(PWMpin, i); if (i == 255) { x = -1; // Ändere die Richtung des Dimmens auf dem "Peek" // Warte 10 Millisekunden delay(10); } } }

Siehe Auch

Please note: These are affiliate links. If you buy the components through these links, We may get a commission at no extra cost to you. We appreciate it.