简介
CH32V103系列是以青稞V3A处理器为核心的32位通用MCU,该处理器是基于RISC-V开源指令集设计。片上集成了时钟安全机制、多级电源管理、通用DMA控制器。此系列具有1路USB2.0主机/设备接口、多通道12位ADC转换模块、多通道TouchKey、多组定时器、多路IIC/USART/SPI接口等丰富的外设资源。
本章教程主要讲述如何控制CH32V103进入睡眠模式以及对其进行中断唤醒操作。
1、PWR-睡眠模式简介及相关函数介绍
在系统复位后,微控制器处于正常工作状态(运行模式),此时可以通过降低系统主频或者关闭不用外设时钟或者降低工作外设时钟来节省系统功耗。如果系统不需要工作,可设置系统进入低功耗模式,并通过特定事件让系统跳出此状态。
微控制器目前提供了 3 种低功耗模式,从处理器、外设、电压调节器等的工作差异上分为:
睡眠模式:内核停止运行,所有外设(包含内核私有外设)仍在运行。
停止模式:停止所有时钟,唤醒后系统继续运行。
待机模式:停止所有时钟,唤醒后微控制器复位(电源复位)。
在睡眠模式下,所有的IO引脚都保持他们运行模式下的状态,所有的外设时钟都正常,所以进入睡眠模式前,尽量关闭无用的外设时钟,以减低功耗。该模式唤醒所需时间最短。
进入睡眠模式:配置内核寄存器控制位 SLEEPDEEP=0(PFIC系统控制寄存器(PFIC_SCTLR)位2,SLEEPDEEP,控制系统的低功耗模式:1为deepsleep,0为sleep),电源控制寄存器 PDDS=