// TEST OF EXTERNAL INTERRUPTS
// ESP32 DEVKIT - ARDUINO IDE 1.8.5
// Gustavo Murta 18/02/2018
int GPIO4 = 4; // SCOPE CH 1
int GPIO5 = 5; // SCOPE CH 2
volatile int count = 0; // volatile, mert megszakításban használjuk
// ISR függvény RAM-ban futtatva
static void IRAM_ATTR PrintData()
{
Serial.println(" An interrupt has occurred. "); // For slow tests
Serial.println(count++);
setGPIO_5();
}
void setup()
{
pinMode(GPIO4, INPUT); // Interrupt PIN - ESP32 GPIO_4
pinMode(GPIO5, OUTPUT); // Scope PIN - ESP32 GPIO_5
attachInterrupt(digitalPinToInterrupt(GPIO4), PrintData, RISING);
Serial.begin(115200);
Serial.println(" Monitoring Interrupts ");
}
void setGPIO_5()
{
digitalWrite(GPIO5, LOW); // Monitor GPIO_5 with SCOPE CH 2
digitalWrite(GPIO5, HIGH);
delayMicroseconds(1); // change nothing
digitalWrite(GPIO5, LOW);
}
void loop()
{
}