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

· 1 浏览

回答(4)

补充:实测中,GPIO悬空最易漏电,建议统一设为输入+下拉,并避免使用内部上拉(因上拉电流更大)。
嵌入式阿峰 · 2026-08-27
补充:用esp_sleep_pd_config()配置RTC外设电源域,如关闭RTC外设的PD,可减少漏电,但需权衡唤醒时间。
低功耗小李 · 2026-08-27
补充:注意ESP32的RTC域供电,若使用外部RTC电源,需隔离GPIO到RTC域的路径,避免睡眠时通过VDD_RTC漏电。
电源老张 · 2026-08-27
在ESP32低功耗模式下,RTC内存保持数据时,GPIO漏电是常见问题,主要源于未正确配置引脚状态。实操建议:1) 进入deep sleep前,将所有未使用的GPIO设为输入模式并启用内部上拉或下拉电阻,避免浮空;2) 对连接外设的GPIO,根据外设电平需求,显式设为高或低输出,并确保外设电源已切断(如通过MOSFET控制);3) 特别关注RTC GPIO(如GPIO0、2、4、12-15、25-27、32-39),这些引脚在睡眠时仍可工作,需逐一检查其上下拉配置,防止通过外设路径漏电;4) 使用esp_deep_sleep_start前,调用gpio_hold_en()锁定引脚状态,但注意释放时需先解除hold;5) 测量实际电流时,建议断开串口和LED,并用万用表串联电池端,对比不同配置下的电流差异。若漏电仍大,检查是否有外部上拉电阻与内部配置冲突。
mcuku 阿沐 · 2026-08-27