I'm trying to set up an interrupt handler on GPIO36 (SENSOR_VP) ESP32 pin. Here are some parts of the code that I consider relevant:
Code: Select all
static void irq_handler_func(void* arg)
{
xSemaphoreGiveFromISR(isr_sem, NULL);
}
.
.
.
static void parent_irq_handler_func(void* arg)
{
irq_handler_func(arg);
}
.
.
.
static void init_func(void)
{
gpio_config_t pin_irq_cfg =
{
.intr_type = GPIO_INTR_NEGEDGE,
.pull_down_en = GPIO_PULLDOWN_DISABLE,
.pull_up_en = GPIO_PULLUP_ENABLE,
.mode = GPIO_MODE_INPUT,
.pin_bit_mask = 1ULL << GPIO_NUM_36,
};
gpio_config(&pin_irq_cfg);
gpio_isr_handler_add(GPIO_NUM_36, parent_irq_handler_func, NULL);
}
.
.
.
static void main_task(void* arg)
{
while (1)
{
if (pdTRUE == xSemaphoreTake(isr_sem, portMAX_DELAY))
{
.
.
.
}
}
}
Code: Select all
Guru Meditation Error: Core 0 panic'ed (InstrFetchProhibited). Exception was unhandled.
Core 0 register dump:
PC : 0x00000002 PS : 0x00060031 A0 : 0x80082d20 A1 : 0x3ffb0b30
A2 : 0x3ffc9b20 A3 : 0x00000050 A4 : 0x800fd9ba A5 : 0x3ffca480
A6 : 0x3ffb32c0 A7 : 0x3ffca4a0 A8 : 0x800df4d6 A9 : 0xfffffff8
A10 : 0x3ffc9b20 A11 : 0x00060023 A12 : 0x8008d90e A13 : 0x3ffca470
A14 : 0x00000003 A15 : 0x00060723 SAR : 0x0000001c EXCCAUSE: 0x00000014
EXCVADDR: 0x00000000 LBEG : 0x00000000 LEND : 0x00000000 LCOUNT : 0x00000000
Backtrace:0xffffffff:0x3ffb0b300x40082d1d:0x3ffb0b50 0x40082155:0x3ffb0b80 0x4017a08f:0x3ffca4d0 0x400d3db2:0x3ffca4f0 0x4008b95d:0x3ffca510 0x4008d6bd:0x3ffca530
0x40082d1d: gpio_isr_loop at H:/esp-idf-v4.4/components/driver/gpio.c:416
(inlined by) gpio_intr_service at H:/esp-idf-v4.4/components/driver/gpio.c:442
0x40082155: _xt_lowint1 at H:/esp-idf-v4.4/components/freertos/port/xtensa/xtensa_vectors.S:1111
0x4017a08f: cpu_ll_waiti at H:/esp-idf-v4.4/components/hal/esp32/include/hal/cpu_ll.h:183
(inlined by) esp_pm_impl_waiti at H:/esp-idf-v4.4/components/esp_pm/pm_impl.c:837
0x400d3db2: esp_vApplicationIdleHook at H:/esp-idf-v4.4/components/esp_system/freertos_hooks.c:63
0x4008b95d: prvIdleTask at H:/esp-idf-v4.4/components/freertos/tasks.c:3974 (discriminator 1)
0x4008d6bd: vPortTaskWrapper at H:/esp-idf-v4.4/components/freertos/port/xtensa/port.c:131