LBotics.at

Soll Programmcode in einer Endlosschleife wiederholt ausgeführt werden, bis das Programm manuell beendet wird, so kann dies wie im vorigen Abschnitt mit einer Abfrage und Überprüfung eines Tasters gemacht werden.

Damit ein Programm wie gewohnt mit dem Exit-Button (links unter dem Display) beendet werden kann, wurde in EVC eine spezielle Abbruchbedingung für eine while-Schleife implementiert.

Programmbeispiel - wiederholte Programmausführung und Exit-Button

Im folgenden Beispiel fährt ein Roboter so lange im Kreis, bis das Programm durch einen Druck auf den Exit-Button am EV3 Brick beendet wird.

ACHTUNG: Wird die Ausführung des Programmcodes innerhalb der while-Schleife mit der Funktion SLEEP(); angehalten, so muss der Exit-Button mindestens so lange gedrückt werden, wie die Ausführung eines Schleifendurchlaufs dauert!

Die Überprüfung der Bedingung der while-Schleife erfolgt jeweils nur nach einem vollständigen Durchlaufen der Schleife.

#include "evclibrary.h"
int main()
{
// 1. Konfiguration der angeschlossenen Sensoren und Motoren
SET_OUT(OUT_A,OUT_MOTOR);
SET_OUT(OUT_B,OUT_MOTOR);
// 2. Initialisierung des EV3 Brick
EVC_INIT();
// 3. Steuerung des Roboters
WRITE_OUT(OUT_A, MOTOR_POWER, 70);
WRITE_OUT(OUT_B, MOTOR_POWER, 40);
while (NOTEXITBUTTON)
{
}
// 4. Programmende
EVC_CLOSE();
return 0;
}
Erklärungen zu diesem Programmbeispiel
Zeile 12: while (NOTEXITBUTTON) ...

In dieser Zeile beginnt eine while-Schleife mit einer Bedingung, die so lange erfüllt ist, bis der Exit-Button am EV3 Brick gedrückt wird.