// Übung ESP32 und BBWAS1 (Teil 5)
// Vorlage

//--------------------------------------------------
// Globals:
volatile int gCounter = 0; // Zählvariable

//--------------------------------------------------
void setup() {
  //---
  // Init USART:
  Serial.begin(115200);

  //---
  // Pin 26 (Taste) als Input konfigurieren
  pinMode(26, INPUT);

  // Interrupt Controller konfigurieren:
  // - Pin 26 (Taste) ist Quelle für Interrups.
  // - Bei einem Interrupt wird die Funktione tasteISR() aufgerufen.
  // - Jeder Signalwechsel von LOW nach HIGH löst einen Interrup aus (RISING).
  attachInterrupt(digitalPinToInterrupt(26), tasteISR, RISING);
}

//--------------------------------------------------
void loop() {
  // Inhalt von gCounter über UART ausgeben
  Serial.println(gCounter);

  // Pause 2s
  delay(2000);
}

//--------------------------------------------------
// Interrupt Service Routine (ISR)
void tasteISR() {
  // gCounter inkrementieren
  gCounter = gCounter + 1;
}