以RISC-V MCU CH32V307为例
1. 睡眠模式简介
睡眠模式下,所有的IO引脚都保持它们在运行模式时的状态。
所有的外设时钟都正常工作。进入睡眠前,尽量关闭无用的外设时钟,以降低功耗。
该模式唤醒所需的时间最短,几乎不耗时间,约 2~3 us。
此模式下,以144MHz运行时,使能所有外设时的睡眠电流约15.1mA,关闭所有外设的睡眠电流约4.1mA(除了唤醒中断引脚时钟和电源模块时钟)。
2. 进入睡眠模式
2.1 Sleep_Now模式
-
配置内核寄存器
PFIC_SCTLR
控制位SLEEPDEEP=0
-
执行
WFI
或WFE
指令
2.2 Sleep_On_Exit模式
-
配置内核寄存器
PFIC_SCTLR
控制位SLEEPDEEP=0
-
执行
WFI
睡眠指令时,配置PFIC_SCTLR
控制位SLEEPONEXIT=1
,系统唤醒后控制器离开中断服务函数时,继续进入低功耗模式 -
执行
WFI
指令
3. 退出睡眠模式
3.1 Sleep_Now模式
-
任意中断,具体可参考中断向量表
-
唤醒事件:
-
配置一个外部
-