enum kann die Definition einer größeren Anzahl Konstanten vom Typ ➨int vereinfachen. Das erste Element erhält den Wert 0, jedes weitere wird um 1 hochgezählt.
Das Beispielprogramm definiert die Wochentage als Aufzählung.
enum Wochentage
{
Sonntag,
Montag,
Dienstag,
Mittwoch,
Donnerstag,
Freitag,
Samstag
};
void setup()
{
Serial.begin(9600);
// auf serielle Verbindung warten
while (!Serial);
delay(1000);
// Startwert → Sonntag, Endwert → Samstag
for (int i = Sonntag; i <= Samstag; i++)
{
Serial.print(i); Serial.print("\t");
}
Serial.println();
Serial.print("So\tMo\tDi\tMi\tDo\tFr\tSa");
}
void loop()
{
// bleibt leer, Programm läuft nur einmal
}
Der Startwert des ersten Elements kann auch gesetzt werden:
enum Farben
{
// Startwert festlegen
GRUEN = 3,
WEISS,
ROT,
BLAU,
GELB
};
Das Beispielprogramm zeigt die Werte der Aufzählung an:
enum Farben
{
GRUEN = 3,
WEISS,
ROT,
BLAU,
GELB
};
void setup()
{
Serial.begin(9600);
// auf serielle Verbindung warten
while (!Serial);
delay(1000);
// Startwert → GRUEN, Endwert → GELB
for (int i = GRUEN; i <= GELB; i++)
{
Serial.print(i); Serial.print("\t");
}
Serial.println();
Serial.print("GRUEN\tWEISS\tROT\tBLAU\tGELB");
}
void loop()
{
// bleibt leer, Programm läuft nur einmal
}
Ein weiteres Beispiel. Lauflicht:
enum Farben
{
GRUEN = 3,
WEISS,
ROT,
BLAU,
GELB
};
void setup()
{
// pinMode: Startwert → GRUEN, Endwert → GELB
for (int i = GRUEN; i <= GELB; i++)
{
pinMode(i, OUTPUT);
}
}
void loop()
{
for (int i = GRUEN; i <= GELB; i ++)
{
// aktuelle LED i einschalten
digitalWrite(i, HIGH);
delay(200);
// aktuelle LED i ausschalten
digitalWrite(i, LOW);
}
}
Variable
Letzte Aktualisierung: