查看: 1435|回复: 0
收起左侧

第二十一章:CH32V103应用教程——PWR-停止模式

[复制链接]

  离线 

  • TA的每日心情
    拍拍
    2022-6-27 11:09
  • 签到天数: 25 天

    [LV.4]

    发表于 2021-4-25 18:08:01 | 显示全部楼层 |阅读模式

    有人预言,RISC-V或将是继Intel和Arm之后的第三大主流处理器体系。欢迎访问全球首家只专注于RISC-V单片机行业应用的中文网站

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    本帖最后由 sky 于 2021-9-10 17:04 编辑

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


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

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

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

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

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

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

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


    2、硬件设计

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


    3、软件设计

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

    main.c文件
    1. int main(void)
    2. {
    3.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
    4.         Delay_Init();
    5.         USART_Printf_Init(115200);
    6.         EXTI0_INT_INIT();
    7.         printf("SystemClk:%d\r\n",SystemCoreClock);
    8.         printf("Stop Mode Test\r\n");
    9.         printf("\r\n**********\r\n");
    10.         Delay_Ms(10);
    11.         PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI); //进入停止模式

    12.         printf("\r\n##########\r\n");
    13.         while(1)
    14.        {
    15.          Delay_Ms(1000);
    16.          printf("Run in main\r\n");
    17.         }
    18. }
    复制代码
    main.c文件主要包含相关知识信息打印以及进入停止模式和唤醒指令。


    4、下载验证

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

    CH32V CH573单片机芯片-第二十一章:CH32V103应用教程——PWR-停止模式risc-v单片机中文社区(1)

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


    CH32V CH573单片机芯片-第二十一章:CH32V103应用教程——PWR-停止模式risc-v单片机中文社区(2)

    停止模式.rar附件下载
    CH32V CH573单片机芯片-第二十一章:CH32V103应用教程——PWR-停止模式risc-v单片机中文社区(3) 20、停止模式.rar (472.1 KB, 下载次数: 12)
    链接:https://pan.baidu.com/s/1ynqHtuYik_cjJ9uFtFYcFQ
    提取码:bj9c
    复制这段内容后打开百度网盘手机App,操作更方便哦








    上一篇:第二十章:CH32V103应用教程——PWR-待机模式
    下一篇:第二十二章:CH32V103应用教程——触摸按键检测(TKEY)
    RISCV作者优文
    全球首家只专注于RISC-V单片机行业应用的中文网站
    回复

    使用道具 举报

    高级模式
    B Color Image Link Quote Code Smilies

    本版积分规则

    关闭

    RISC-V单片机中文网上一条 /2 下一条



    版权及免责声明|RISC-V单片机中文网 |网站地图

    GMT+8, 2024-11-26 01:22 , Processed in 0.347546 second(s), 48 queries .

    快速回复 返回顶部 返回列表