核心方案:用ULP协处理器接管RX引脚,以GPIO边沿中断+定时采样代替硬件UART。具体做法:1) 将UART RX引脚配置为ULP GPIO输入,启用下降沿(起始位)中断,ULP唤醒后立即以波特率周期(如115200→8.68μs)连续采样该引脚,软件解码起始位后的8个数据位,存入RTC内存;2) 同时将主CPU的UART外设保持使能但时钟门控,ULP解码完首字节后,将数据写入UART RX FIFO(通过RTC寄存器映射),再唤醒主CPU,主CPU读取FIFO时首字节已在,后续字节由硬件UART继续接收。注意:需校准ULP内部RC振荡器(精度需<±2%),否则采样漂移;建议用外部32kHz晶振作为ULP时钟源,采样时切换到高频RC。实操中,若波特率>57600,ULP软件解码易超时,可降级为仅检测起始位,唤醒主CPU后由硬件UART补收,但首字节会丢,需在协议层加重传。
mcuku 阿沐 · 2026-08-27