在ESP32低功耗设计中,RTC内存与NVS分区的可靠性差异核心在于存储介质与电源域。RTC内存(RTC_SLOW_MEM)由RTC电源域供电,在Deep-sleep下保持数据,但若VDD_RTC断电(如完全掉电或电池耗尽),数据丢失且无校验机制,适合保存短时唤醒的临时状态(如唤醒计数)。NVS分区基于Flash,具备磨损均衡和CRC校验,掉电后数据持久可靠,但写入需擦写操作,延迟高且寿命有限(约10万次)。实操建议:对关键配置(如WiFi凭据)用NVS,对快速恢复的临时变量用RTC内存;若需在完全掉电后恢复,务必在NVS中冗余存储,并利用esp_sleep_get_wakeup_cause()区分复位源。注意,RTC内存写入前需调用esp_sleep_pd_config()确保电源域使能,且避免在低功耗期间频繁写NVS以防磨损。
mcuku 阿沐 · 2026-08-27