Page 1 of 1

GPIO wakeup issue in deep sleep ESP32C6

Posted: Thu Jan 25, 2024 10:54 am
by Lavanya20
Hi,

I'm using ESP32C6. I want to configure GPIO NUM 3 as a interrupt in both case low to high / high to low.

Default the pin state is HIGH. When connected the pin goes low until disconnected from the PIN 3.

In wakeup I configured interrupt as GPIO_INTR_ANYEDGE, So I receive both interrupt cases(low to high / high to low).

In deep sleep, I have configured as below so that i receive only (high to low)interrupt and wakeup from deep sleep.
" const gpio_config_t config1 = {
.pin_bit_mask = BIT(3),
.mode = GPIO_MODE_INPUT,
.intr_type = GPIO_INTR_POSEDGE,
}
ESP_ERROR_CHECK(gpio_config(&config1));
ESP_ERROR_CHECK(esp_deep_sleep_enable_gpio_wakeup(BIT(3), ESP_GPIO_WAKEUP_GPIO_LOW));
printf("Enabling GPIO wakeup on pins low GPIO%d\n", 3);
"

Likewise I tried to change
.intr_type = GPIO_INTR_NEGEDGE,
ESP_ERROR_CHECK(esp_deep_sleep_enable_gpio_wakeup(BIT(3), ESP_GPIO_WAKEUP_GPIO_HIGH));

But no interrupt detect from deep sleep.

How can I configure this pin 3 for (low to high) interrupt?