离线
TA的每日心情 | 慵懒 2021-7-23 17:16 |
---|
签到天数: 17 天 [LV.4]
|
有人预言,RISC-V或将是继Intel和Arm之后的第三大主流处理器体系。欢迎访问全球首家只专注于RISC-V单片机行业应用的中文网站
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本章教程主要讲述如何通过按键控制进入/退出睡眠模式,同时演示正常模式下和睡眠模式下串口数据传输。注意,在睡眠模式下,进行串口数据传输时,当进入串口中断时,会唤醒退出睡眠模式,但不影响数据传输。本次教程所用中断是串口读数据寄存器非空时进入中断。
1、PWR-睡眠模式简介
CH32单片机进入睡眠模式后,所有的IO引脚都保持他们运行模式下的状态,所有的外设时钟,所以进入睡眠模式前,尽量关闭无用的外设时钟,以减低功耗。该模式唤醒所需时间最短。
进入:配置内核寄存器控制位 SLEEPDEEP=0,电源控制寄存器 PDDS=0,LPDS 决定内部调压器状态,执行 WFI 或 WFE,可选 SEVONPEND 和 SLEEPONEXIT。
退出:任意中断或者唤醒事件。
关于CH32V103 PWR睡眠模式具体信息,可参考CH32V103应用手册。
2、硬件设计
单片机长按PA1按键进入睡眠模式,PA0按键按下退出睡眠模式,同时进行串口2数据传输。
3、软件设计
本次实验具体程序如下,主要介绍main函数:
Main.c文件
Main.c文件主要包含三个函数:GPIO引脚全部拉低函数、按键长按检测函数、以及main函数。main函数包含函数初始化、相关状态信息显示。关于程序具体介绍,可见程序注释。
4、下载验证
将编译好的程序下载到开发板并复位,串口1主要打印相关提示信息,串口2主要进行数据传输,具体如下:
完
|
上一篇: 第一百零五章:CH32V103应用教程 按键控制进入/退出待机模式下一篇: 教你动手移植RT-Thread到国产MCU
|