在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