如何控制CH32V103进入待机模式以及对其进行唤醒操作

描述

简介

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

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

1、PWR-待机模式简介及相关函数介绍

待机模式在某些指定的唤醒条件下退出后,微控制器将被复位,并且执行的是电源复位。待机模式下可工作模块:独立看门狗(IWDG)、实时时钟(RTC)、低频时钟(LSI/LSE)。

进入:配置内核寄存器控制位 SLEEPDEEP=1,电源控制寄存器的 PDDS=1,执行WFI或WFE,可选SEVONPEND和SLEEPONEXIT。

退出:1)任一外部中断/事件(在外部中断寄存器中设置),此唤醒等效停止模式退出。

2)WKUP引脚的上升沿、RTC闹钟事件的上升沿、NRST引脚上外部复位、IWDG复位,此唤醒后微控制器执行电源复位。

注:调试模式下,使微处理器进入停止或待机模式,将失去调试连接。

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

2、硬件设计

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

3、软件设计

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

main.c文件

控制器

4、下载验证

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

控制器

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

控制器

由上图可知,待机模式被中断唤醒,程序运行。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分