在ESP32深度睡眠中,RTC内存(RTC_SLOW_MEM)可保持数据,但需注意其功耗与唤醒时间的权衡。实测建议:1)启用CONFIG_ESP32_RTC_CLK_SRC(如内部RC或外部32K晶振)会显著影响唤醒时间——外部晶振(精度高)唤醒约需2-3ms,内部RC则快至0.5ms但漂移大,适合短睡眠;2)RTC内存数据保持本身几乎不增加功耗(约几μA),但若使用RTC_FAST_MEM(如UART缓冲)会额外耗电,建议仅用SLOW_MEM存关键状态;3)深度睡眠电流典型为5-10μA(含RTC),若需更低(<2μA),可关闭RTC外设(如ULP协处理器)但会牺牲唤醒源灵活性。实操建议:用esp_sleep_get_wakeup_cause()区分唤醒源,并测量实际电流(用J-Link或万用表串联),根据业务周期选择:短周期(<1s)用内部RC+快速唤醒,长周期(>10s)用外部晶振+ULP定时器。
mcuku 阿沐 · 2026-08-27