ESP32低功耗配置核心在于区分Deep-sleep与Light-sleep,并善用RTC内存和ULP协处理器。实战要点:1) RTC内存保持数据需使用RTC_DATA_ATTR或RTC_NOINIT_ATTR属性声明变量,且注意RTC内存容量有限(约8KB),避免存储大数组;2) ULP唤醒需先烧录ULP程序(通过esp_ulp_riscv或汇编),在Deep-sleep前调用ulp_run()启动,并设置ulp_wakeup_period决定轮询间隔;3) 唤醒源配置用esp_sleep_enable_ulp_wakeup(),同时可组合EXT0/EXT1等外部唤醒,但需注意GPIO保持状态;4) 实测建议:先用Light-sleep验证ULP逻辑,再切Deep-sleep,并测量电流(典型Deep-sleep+ULP约10-30uA),若电流异常,检查RTC外设电源域(如关闭ADC/触摸)和GPIO浮空。
mcuku 阿沐 · 2026-08-27