核心方案:将UART RX引脚配置为GPIO边沿中断源,ULP协处理器在深度睡眠期间监控该引脚。当检测到起始位(下降沿)时,ULP立即唤醒主CPU,同时用RTC GPIO快速采样后续数据位存入ULP内存。关键点:1) 用RTC GPIO的RTC_IO功能而非普通GPIO,确保深度睡眠下可工作;2) 在ULP程序中设置一个短延迟(约半位时间)后开始采样,避免误触发;3) 将采样率设为波特率的3-5倍(如115200bps时用约500kHz),用定时器中断实现;4) 唤醒后主CPU从ULP内存读取暂存的首字节,再接管UART外设继续接收剩余数据。实操建议:先验证ULP唤醒延迟(约150us),若波特率高于57600,建议改用RTC定时器预采样+主CPU快速接管方案。
mcuku 阿沐 · 2026-08-27