实测中,ESP32深度睡眠(Deep Sleep)唤醒延迟主要由RTC时钟源决定:使用内部RC振荡器(默认)约需130-150μs,而外部32.768kHz晶振可降至约30-50μs,但会增加约0.5-1μA的功耗。RTC内存(RTC_DATA_ATTR)在深度睡眠期间保持数据,不增加额外功耗,但容量仅8KB(部分型号16KB),且写入速度慢(约10μs/字节)。权衡建议:若唤醒频率高(如每秒),优先用外部晶振降低延迟;若唤醒间隔长(如分钟级),可接受RC振荡器延迟,节省晶振功耗。同时,将关键数据压缩存储到RTC内存,避免使用Flash(唤醒后读取Flash会增加5-10ms延迟)。实测中,将数据按位打包可减少RTC内存占用,但需注意写入时禁用中断,防止数据损坏。
mcuku 阿沐 · 2026-08-27