Handbedienung mit Zustimmtaste Fa. Euchner


Google-Suche auf MEINE-SCHALTUNG.de :





Dauerkalender


Arduino - For - Schleife

Mit einer Schleife können Anweisungen oder ganze Programmteile bis zum Erreichen einer bestimmten Bedingung wiederholt werden. Die zu wiederholende Sequenz steht in geschweiften Klammern {}. Die Initialisierung, Abbruch- sowie Fortsetzungsbedingung der Schleife werden davor innerhalb von ()-Klammern untergebracht.
Die Struktur einer For-Schleife sieht wie folgt aus:


  // ----------------------------------------------------------
  // Strunktur einer For-Schleife


    for (int i=0; i<25; i++) {
      // Anweisung1 
      // Anweisung2 
      // Anweisung...
    }

  // ----------------------------------------------------------

Zunächst benötigt die Schlaufe einen Startwert, mit dem die Wiederholungssequenz beginnen wird. Die hierfür eingesetzte Variable kann entweder nur für den Ablauf der Schleife oder auch in dem nachfolgenden Programmcode genutzt werden. Mit der darauffolgenden Bedingung wird festgelegt, wann die Schleife beendet wird. Sie wird solange wiederholt, solange die Bedingung wahr ist. Mit dem Befehl "break" kann die Schleife vorzeitig verlassen werden, wodurch die Hauptbedingung der Schleife umgangen werden kann. Sobald die Bedingung erfüllt ist, setzt Arduino die Bearbeitung des Codes, der hinter der Schleife steht, fort.
Schließlich folgt die Angabe des Schrittes, mit dem der Schleifenzähler verändert wird.
Beispiel:


  // ----------------------------------------------------------
  // For-Schleife


  int i;

  void setup() {
    Serial.begin(9600);
  }

  void loop() {
    for (i=100; i<=120; i=i+2) {
      Serial.print ("-");
      Serial.print (i);
    }
    Serial.println ();
    Serial.println ("Die for-Schleife wurde soeben beendet.");
    delay(1000);
  }

  // Ausgabe: -100-102-104-106-108-110-112-114-116-118-120
  // Die for-Schleife wurde soeben beendet.
  // ----------------------------------------------------------

Schleifen können verschachtelt werden:


  // ----------------------------------------------------------
  // For-Schleifen verschachtelt


  int i;
  int j;

  void setup() {
    Serial.begin(9600);
  }

  void loop() {
    for (i=10; i>5; i--) {
      for (j=1; j<3; j++) {
        Serial.print ("-");
        Serial.print (i*j);
      }
    }
    Serial.println ();
    Serial.println ("Ablauf beendet.");
    delay(1000);
  // ----------------------------------------------------------

Als Ausgabe erhalten wir hier:
-10-20-9-18-8-16-7-14-6-12
Ablauf beendet.
Zuerst wird die erste i-Schleife initialisiert und die Variable i erhält den Wert 10. Jetzt startet die zweite Schleife j. Die Variable j beginnt mit dem Wert 1. Als Ergebnis der ersten Multiplikation erhalten wir den Wert (i*j) 10*1=10. Die erste Schleife i muss warten, bis die j-Schleife komplett abgelaufen ist. Im nächsten Schritt bekommen wir also einen neuen Wert für j (j=2) und einen neuen Wert der Multiplikation 10*2=20. Erst jetzt, nachdem die j-Schleife abgelaufen ist, kann die i-Schleife ihre Arbeit fortsetzen. Der nächste Wert für i ist jetzt 9. Alles Weitere wiederholt sich dann entsprechend, bis i-Schleife komplett abgearbeitet wurde. Damit haben wir hier 5 (5 Durchläufe der i-Schleife) * 2 (2 Durchläufe der j-Schleife) = 10 Abläufe der inneren Schleife insgesamt.


Arduino_Programmierung




Google-Suche auf MEINE-SCHALTUNG.de :


Eingang mit KNX-Anmeldung

Home Impressum Datenschutz