ESP32低功耗模式下,RTC内存(RTC_SLOW_MEM)用于在深度睡眠和浅睡眠期间保持数据,其完整性依赖供电连续性、复位源和软件配置。边界条件包括:1) 供电电压需稳定在2.3V-3.6V,低于2.3V可能导致RTC域数据丢失;2) 复位源(如EXT_RST、SW_RST)会清除RTC内存,而深度睡眠唤醒(TIMER、GPIO)保留数据;3) 需在进入睡眠前调用esp_sleep_pd_config(ESP_PD_DOMAIN_RTC_SLOW_MEM, ESP_PD_OPTION_ON)确保RTC内存不掉电。实测注意事项:使用esp_sleep_get_wakeup_cause()区分唤醒源,避免误判;在唤醒后立即读取RTC内存,并校验CRC或魔数;避免在睡眠期间修改RTC内存(如通过UART中断),否则可能损坏。建议在量产前进行1000次以上睡眠唤醒循环测试,监控数据完整性。
mcuku 阿沐 · 2026-08-27