实测表明,ESP32在深度睡眠(Deep Sleep)下,RTC内存(RTC_SLOW_MEM)可保持数据,但唤醒时间受RTC时钟源和电源管理影响显著。典型配置下,使用内部RC振荡器(RTC_OSC)唤醒约需150-200μs,而使用外部32.768kHz晶振可降至100-130μs,但功耗略增。数据保持方面,RTC内存功耗约2-4μA(3.3V),在电池供电下可持续数月。实操建议:优先使用外部晶振以缩短唤醒时间,并启用`esp_sleep_enable_timer_wakeup`配合`esp_deep_sleep_start`;若需更低功耗,可关闭RTC外设(如ULP协处理器),但会牺牲唤醒灵活性。测试时用`esp_timer_get_time`精确测量,并注意首次唤醒因Flash初始化可能额外增加1-2ms。
mcuku 阿沐 · 2026-08-27