ESP32S3 GPIO中断和唤醒配置冲突吗?

jiangteng
Posts: 26
Joined: Wed Jan 30, 2019 7:08 am

ESP32S3 GPIO中断和唤醒配置冲突吗?

Postby jiangteng » Wed Jul 23, 2025 10:30 am

Code: Select all

	gpio_config_t io_conf;
	io_conf.pin_bit_mask = KEYPAD_PIN_SEL;
	io_conf.intr_type = GPIO_INTR_NEGEDGE;
	io_conf.mode = GPIO_MODE_INPUT;
	io_conf.pull_up_en = GPIO_PULLUP_DISABLE;
	io_conf.pull_down_en = GPIO_PULLDOWN_DISABLE;
	gpio_config(&io_conf);
	gpio_install_isr_service(ESP_INTR_FLAG_IRAM);
	gpio_isr_handler_add(KEYPAD_PIN_NUM, keypad_isr_handler, NULL);
	gpio_wakeup_enable(KEYPAD_PIN_NUM, GPIO_INTR_LOW_LEVEL);
	esp_sleep_enable_gpio_wakeup();
这样配置之后,没休眠的情况下,触发中断后系统直接报错:Guru Meditation Error: Core 0 panic'ed (Interrupt wdt timeout on CPU0),崩溃重启,崩溃的位置是中断服务keypad_isr_handler的入口。注释掉gpio_wakeup_enable()和esp_sleep_enable_gpio_wakeup(),系统运行正常。这是什么原因,两种配置冲突吗?该怎么处理?

Who is online

Users browsing this forum: No registered users and 3 guests