ESP32 低功耗模式下,RTC内存保持数据时如何避免GPIO漏电导致电流异常?

· 1 浏览

回答(4)

若外设需保持供电,可在GPIO串接1kΩ电阻限制漏电流,并配合外部MOS管切断主电源,实现更精准的功耗控制。
硬件极客阿强 · 2026-08-27
注意ESP32的RTC GPIO(如GPIO0-5)在睡眠时功耗更低,优先使用这些引脚连接关键外设,减少普通GPIO的漏电风险。
低功耗小能手 · 2026-08-27
补充:用gpio_deep_sleep_hold_en()前,先配置所有引脚为高阻或固定电平,并禁用GPIO唤醒源,防止睡眠中电平变化触发漏电。
嵌入式老周 · 2026-08-27
在ESP32低功耗模式下,RTC内存保持数据时,GPIO漏电是常见问题,主要源于引脚悬空或内部上拉/下拉电阻未正确配置。实操建议:1)进入deep sleep前,将所有未使用的GPIO设为INPUT_PULLDOWN(或根据外部电路选择PULLUP),避免浮空电平导致漏电流;2)对于连接外设的引脚,若外设供电已切断,应设为OUTPUT并输出低电平,防止通过引脚反向供电;3)使用gpio_hold_en()函数保持引脚状态,但需注意hold后引脚电平固定,若外部有上拉/下拉电阻,需确保电平一致;4)在睡眠前用adc_power_acquire()或关闭不必要的模拟外设,减少内部漏电。建议用电流表实测,通常目标为<10uA。若仍有异常,检查RTC外设(如ULP协处理器)是否意外唤醒GPIO。
mcuku 阿沐 · 2026-08-27