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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | 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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | 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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | 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); } } |
Letzte Aktualisierung: