RISC-V MCU应用教程之PWR停止模式

简介

CH32V103系列是以青稞V3A处理器为核心的32位通用MCU,该处理器是基于RISC-V开源指令集设计。片上集成了时钟安全机制、多级电源管理、通用DMA控制器。此系列具有1路USB2.0主机/设备接口、多通道12位ADC转换模块、多通道TouchKey、多组定时器、多路IIC/USART/SPI接口等丰富的外设资源。

 

本章教程主要讲述如何控制CH32V103进入停止模式以及对其进行唤醒操作。

1PWR-停止模式简介及相关函数介绍

停止模式是在内核的深睡眠模式(SLEEPDEEP)基础上结合了外设的时钟控制机制,并让电压调节器的运行处于更低功耗的状态。此模式高频时钟(HSE/HSI/PLL)域被关闭,SRAM和寄存器内容保持,IO引脚状态保持。该模式唤醒后系统可以继续运行,HSI 称为默认系统时钟。

 

如果正在进行闪存编程,直到对内存访问完成,系统才进入停止模式;如果正在进行对 APB 的访问,直到对APB访问完成,系统才进入停止模式。

 

停止模式下可工作模块:独立看门狗(IWDG)、实时时钟(RTC)、低频时钟(LSI/LSE)。

 

进入:配置内核寄存器控制位SLEEPDEEP=1,电源控制寄存器的PDDS=0,可选LPDS位,执行WFIWFE,可选SEVONPENDSLEEPONEXIT

 

退出:任一外部中断/事件(在外部中断寄存器中设置)WKUP 引脚上升沿。  

 

关于CH32V103 PWR-停止模式具体信息,可参考CH32V103应用手册。CH32V103 PWR标准库函数在PWR-睡眠模式章节已介绍,在此不再赘述。

 

2、硬件设计

单片机进入停止模式之后,需要对其进行唤醒操作,此时将开发板PA0引脚与3.3V引脚连接即可进行唤醒。

 

3、软件设计

本章教程在第四章EXTI基础上进行单片机停止模式唤醒,通过PA03.3V进入中断对停止模式进行唤醒,关于EXTI部分程序在此不再介绍,主要介绍如何进入停止模式并对其进行中断唤醒,其具体程序如下:

main.c文件

 

main.c文件主要包含相关知识信息打印以及进入停止模式和唤醒指令。

4、下载验证

将编译好的程序下载到开发板并复位,串口打印情况具体如下:

 

由图可知,单片机进入停止模式,将PA0引脚与3.3V引脚连接之后断开,串口打印信息如下:

 

 

posted @   喵喵喵mmm  阅读(105)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?
点击右上角即可分享
微信分享提示