深睡眠模式只支持 IO 端口唤醒,且 IO 为特定 WAKUP 引脚。
端口唤醒:
具体流程如下:
⚫ 确认 RCLF(32KHZ 时钟)为使能状态
⚫ 将需要执行唤醒操作的引脚对应PxWKEN寄存器及INEN_x寄存器指定位配置为1,
使能相应端口对应位输入使能及唤醒功能
⚫ SLEEP 寄存器 STOP 置 1 后,芯片进入深睡眠模式
⚫ 唤醒端口 WAKUP,当 WAKUP 端口对应位产生下降沿时,芯片被唤醒,继续执行
程序。
⚫ 唤醒后,端口对应 PxWKSR 寄存器对应位被置 1,可通过对该位写 1 进行清除(该
位对进入休眠无影响)
深睡眠模式下,芯片进入掉电状态,所有时钟均关闭,RAM 内数据也会丢失。通过向 SLEEP
寄存器 BIT[1]置 1,且 wakeup 引脚为高时,芯片进入睡眠模式。只能通过指定 wakeup 引脚
唤醒芯片,唤醒后,芯片相当于重新上电。
|