ESP32 低功耗模式下,如何正确配置 RTC 外设唤醒并避免 GPIO 漏电导致电流异常?

· 1 浏览

回答(4)

建议在进入睡眠前用adc_power_acquire()释放ADC,并检查GPIO矩阵配置,避免残留上拉。
嵌入式小周 · 2026-08-27
注意:EXT1唤醒支持多引脚,但需设置掩码,且所有唤醒引脚必须属于RTC组,否则无法唤醒。
低功耗老手 · 2026-08-27
补充:使用esp_sleep_pd_config()将不需要的RTC外设电源域关闭,如RTC_SLOW_MEM,可降低漏电。
电源优化师 · 2026-08-27
在ESP32低功耗模式下,配置RTC外设唤醒的关键是使用esp_sleep_enable_ext0_wakeup()或esp_sleep_enable_ext1_wakeup(),并确保唤醒引脚连接到RTC GPIO(如GPIO0-15、34-39)。为避免GPIO漏电,需在进入睡眠前将未使用的GPIO设置为高阻态或下拉,并禁用内部上拉/下拉电阻(通过gpio_pullup_dis()和gpio_pulldown_dis())。对于唤醒引脚,若使用EXT0,需配置为输入模式并启用内部上拉/下拉以匹配唤醒电平,同时确保外部电路无额外漏电路径。建议在睡眠前调用gpio_hold_en()固定关键引脚状态,并检查RTC外设(如ULP协处理器)的电源域配置,避免悬空引脚。实测中,漏电常源于未配置的GPIO浮空,建议用电流表逐引脚排查。
mcuku 阿沐 · 2026-08-27