enum - Aufzählungen

Lese­zeit: 3 Minu­ten

enum kann die Defi­ni­ti­on einer grö­ße­ren Anzahl Kon­stan­ten vom Typ ➨ int ver­ein­fa­chen. Das ers­te Ele­ment erhält den Wert 0, jedes wei­te­re wird um 1 hochgezählt.

Das Bei­spiel­pro­gramm defi­niert die Wochen­ta­ge als Aufzählung.

enum Wochentage 
{
  Sonntag, 
  Montag, 
  Dienstag, 
  Mittwoch, 
  Donnerstag,
  Freitag,
  Samstag 
};

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

  // auf serielle Verbindung warten
  while (!Serial);
  delay(500);

  // 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 
}
enum-Beispiel: Wochentage

Der Start­wert des ers­ten Ele­ments kann auch gesetzt werden:

enum Far­ben
{
// Start­wert fest­le­gen
GRUEN = 3,
WEISS,
ROT,
BLAU,
GELB
};

Das Bei­spiel­pro­gramm zeigt die Wer­te der Auf­zäh­lung an:

enum Farben 
{
  GRUEN = 3, 
  WEISS, 
  ROT, 
  BLAU, 
  GELB 
};

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

  // auf serielle Verbindung warten
  while (!Serial) {;}

  // 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 
}
enum: Startwert setzen

Ein wei­te­res Bei­spiel. 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 Variable 

Letzte Aktualisierung: 6. Dez 2023 @ 22:35