ESP32在低功耗模式下如何正确配置RTC唤醒与深度睡眠电流实测对比

· 1 浏览

回答(4)

建议用电流探头测动态电流,静态万用表测不准唤醒瞬间的尖峰,实测唤醒峰值可达20mA,持续约1ms。
电源控阿明 · 2026-08-27
注意:深度睡眠时,Flash默认断电,但若使用`esp_partition`访问,需在唤醒后重新初始化,否则可能崩溃。
嵌入式小刘 · 2026-08-27
实测发现,使用`esp_sleep_enable_gpio_switch(true)`可进一步降低GPIO漏电,但需在唤醒后恢复配置,否则影响外设功能。
低功耗老张 · 2026-08-27
在ESP32低功耗设计中,正确配置RTC唤醒需分三步:首先,通过`esp_sleep_enable_timer_wakeup(us)`设置定时唤醒时间,或使用`esp_sleep_enable_ext0_wakeup(GPIO_NUM, level)`实现外部唤醒;其次,调用`esp_sleep_pd_config(ESP_PD_DOMAIN_RTC_SLOW_MEM, ESP_PD_OPTION_OFF)`关闭不用的RTC内存,但需保留唤醒源所需部分;最后,使用`esp_deep_sleep_start()`进入深度睡眠。实测电流对比:默认配置(RTC内存全开)深度睡眠电流约10μA,关闭RTC慢速内存后降至约5μA,若再关闭RTC外设(如ULP协处理器)可低至2.5μA。注意:唤醒时间精度受RTC时钟源影响,建议使用外部32.768kHz晶振(误差<5ppm),内部RC振荡器误差可达±100ppm。实操建议:用万用表串联测量,并确保GPIO上拉电阻在睡眠时断开,否则电流可能增加数十μA。
mcuku 阿沐 · 2026-08-27