I encountered a very weird issue.
I am using esp wrover as development kit.
I registered ISR for 4 GPIO pins to respond to falling and rising edge, simplified code as following:
Code: Select all
//install gpio isr service
gpio_install_isr_service(ESP_INTR_FLAG_DEFAULT);
//hook isr handler for specific gpio pin
gpio_isr_handler_add(34, gpio_isr_handler, (void*) 34);
gpio_isr_handler_add(35, gpio_isr_handler, (void*) 35);
gpio_isr_handler_add(36, gpio_isr_handler, (void*) 36);
gpio_isr_handler_add(39, gpio_isr_handler, (void*) 39);
Code: Select all
int temp;
adc2_get_raw( ADC2_CHANNEL_2, ADC_WIDTH_12Bit, &temp);
Only GPIO36 and GPIO39 have the weird behavior, 34, 35 seem ok. And the level of GPIO36 and 39 remain high, no level change at all, but still the ISR is triggered.
Any idea or hint will be highly appreciated!