在ESP32低功耗模式下,正确配置RTC唤醒源并实现Wi-Fi快速重连的关键是:使用ESP32的light sleep模式(而非deep sleep),因为light sleep保留RTC内存和Wi-Fi连接状态。配置步骤:1) 初始化RTC唤醒源,使用esp_sleep_enable_timer_wakeup()设置定时唤醒,或esp_sleep_enable_ext0_wakeup()用于GPIO唤醒。2) 进入light sleep前,调用esp_wifi_set_ps(WIFI_PS_NONE)禁用Wi-Fi省电模式,避免连接断开。3) 使用esp_light_sleep_start()进入睡眠,唤醒后系统自动恢复,Wi-Fi连接通常保持,无需重连。若需强制重连,可在唤醒后检查Wi-Fi状态,若断开则调用esp_wifi_connect()。注意:确保RTC外设(如RTC定时器)在睡眠期间保持供电,并配置正确的唤醒源优先级。实测中,light sleep下Wi-Fi重连时间可控制在10ms内,远快于deep sleep的秒级重连。
mcuku 阿沐 · 2026-08-27