PWR & 低功耗三种模式

睡眠模式:

int main(void)
{
OLED_Init();
OLED_ShowString(1, 1, "RxData:"); Serial_Init(); while (1)
{
if (Serial_GetRxFlag() == 1)
{
RxData = Serial_GetRxData();
Serial_SendByte(RxData);
OLED_ShowHexNum(1, 8, RxData, 2);
} OLED_ShowString(2, 1, "Running");
Delay_ms(100);
OLED_ShowString(2, 1, " ");
Delay_ms(100); __WFI();
}
}
在低功耗下无法直接下载程序到单片机,需要长按复位按钮,然后点击下载后松开,就可下载成功
只有在发送数据时,单片机接收数据并处理,运行到__WFI();时就进入睡眠状态,(循环体里面的逻辑不再执行),等待唤醒:USART收到数据产生中断, 唤醒之后程序继续执行,因为此时有中断,所以直接进入到中断函数内处理逻辑,再进入主循环
---
cpu核心以1.8V(内核电压一般1.2-1.8V左右)供电(省电),对外转换成3.3V


三种低功耗模式,从上到下越来越省电(越来越难唤醒)
PDDS=0,进入停机模式,PDDS=1。进入待机模式 ;然后LPDS,用来设置最后这个电压调节器(0开启,1进入低功耗模式),再使用WFI或WFE命令,芯片就可以进入停机模式
SHI&HSE关闭,LHI&LSE(内外部低速时钟)若之前开启的话不会关闭【因为维持着RTC和看门狗IWDG】
电压调节器开启或低功耗都可以维持1.8V区域寄存器和存储器的数据内容,区别是更省电(唤醒时间更久)与否
待机模式:PDDS=1 SLEEPDEEP=1 +FEI或WFE 进入,只有特定唤醒。



当停止后重新唤醒,HSI为系统时钟8M,此时需要重启HSE,配置主频率为72M (Systemlnit函数)
停止模式设置内核外的电路操作,需要用到PWR外设

int main(void)
{
OLED_Init();
CountSensor_Init(); RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE); OLED_ShowString(1, 1, "Count:"); while (1)
{
OLED_ShowNum(1, 7, CountSensor_Get(), 5); OLED_ShowString(2, 1, "Running");
Delay_ms(100);
OLED_ShowString(2, 1, " ");
Delay_ms(100); PWR_EnterSTOPMode(PWR_Regulator_ON, PWR_STOPEntry_WFI);
SystemInit();
}
}

示例用定时器间隔唤醒
使用待机模式一定把外部耗电电路的元器件省去隔绝(LDO&指示发光二极管等),才能真正省电

int main(void)
{ //因为是从头开始运行,自动调用SystemInit();
OLED_Init();
MyRTC_Init(); RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);//开启PWR时钟 OLED_ShowString(1, 1, "CNT :");
OLED_ShowString(2, 1, "ALR :");
OLED_ShowString(3, 1, "ALRF:"); PWR_WakeUpPinCmd(ENABLE);//可以使用引脚触发高电平唤醒,使能后自动配置这个引脚 uint32_t Alarm = RTC_GetCounter() + 10;
RTC_SetAlarm(Alarm);
OLED_ShowNum(2, 6, Alarm, 10); while (1)
{
OLED_ShowNum(1, 6, RTC_GetCounter(), 10); //随着CNT增大,会和设定的闹钟值ALR相等,触发闹钟标志位1(可开中断)
OLED_ShowNum(3, 6, RTC_GetFlagStatus(RTC_FLAG_ALR), 1); OLED_ShowString(4, 1, "Running");
Delay_ms(100);
OLED_ShowString(4, 1, " ");
Delay_ms(100); OLED_ShowString(4, 9, "STANDBY");//记得要在待机之前把外部控制的设备全部关停
Delay_ms(1000);
OLED_ShowString(4, 9, " ");
Delay_ms(100); OLED_Clear(); PWR_EnterSTANDBYMode(); //开启待机
}
}
当VDD或VDDA电压过低时复位


可编程PVD
正常供电3.3 ;
2.9-2.2 PVD监控【正常0,过低1】(提醒电压低), 可申请中断(外部中断【可以唤醒低功耗】),此时还可以正常工作
1.9就是复位电路工作了,不让动了
PWR & 低功耗三种模式的更多相关文章
- git push :推送本地更改到远程仓库的三种模式
摘要:由于在git push过程中,no-fast-forward 的push会被拒绝,如何解决git push失败的问题?这里面有三种方法,分别会形成merge形式的提交历史,线性形式的提交历史,覆 ...
- App开发三种模式
APP开发三种模式 现在App开发的模式包含以下三种: Native App 原生开发AppWeb App 网页AppHybrid App 混合原生和Web技术开发的App 详细介绍: http:// ...
- [转]VMware Workstation网络连接的三种模式
经常要使用VMWare Workstation来在本地测试不同的操作系统,以前也搞不清楚网络连接三种模式,最近看了几篇文章才算明白.现总结如下: 1. VMware Workstation的虚拟网络组 ...
- LVS三种模式配置及优点缺点比较
目录: LVS三种模式配置 LVS 三种工作模式的优缺点比较 LVS三种模式配置 LVS三种(LVS-DR,LVS-NAT,LVS-TUN)模式的简要配置 LVS是什么: http://www.lin ...
- LVS三种模式配置及优点缺点比较 转
LVS三种模式配置及优点缺点比较 作者:gzh0222,发布于2012-11-12,来源:CSDN 目录: LVS三种模式配置 LVS 三种工作模式的优缺点比较 LVS三种模式配置 LVS三种 ...
- MySQ binlog三种模式
MySQ binlog三种模式及设置方法 1.1 Row Level 行模式 日志中会记录每一行数据被修改的形式,然后在slave端再对相同的数据进行修改 优点:在row level模式下,bin- ...
- delegate,notifucation,KVO三种模式实现通信的优缺点
在开发ios应用的时候,我们会经常遇到一个常见的问题:在不过分耦合的前提下,controllers间怎么进行通信.在IOS应用不断的出现三种模式来实现这种通信: 1.委托delega ...
- 辛星跟您玩转vim第一节之vim的下载与三种模式
首先值得一提的是,我的vim教程pdf版本号已经写完了,大家能够去下载,这里是csdn的下载地址:点此下载 ,假设左边的下载地址挂掉了,也能够自行在浏览器以下输入例如以下地址进行下载:http://d ...
- VMware虚拟机上网络连接(network type)的三种模式--bridged、host-only、NAT
VMware虚拟机上网络连接(network type)的三种模式--bridged.host-only.NAT VMWare提供了三种工作模式,它们是bridged(桥接模式).NAT(网络地址转换 ...
- hadoop学习;自己定义Input/OutputFormat;类引用mapreduce.mapper;三种模式
hadoop切割与读取输入文件的方式被定义在InputFormat接口的一个实现中.TextInputFormat是默认的实现,当你想要一次获取一行内容作为输入数据时又没有确定的键.从TextInpu ...
随机推荐
- 7.6 Windows驱动开发:内核监控FileObject文件回调
本篇文章与上一篇文章<内核注册并监控对象回调>所使用的方式是一样的都是使用ObRegisterCallbacks注册回调事件,只不过上一篇博文中LyShark将回调结构体OB_OPERAT ...
- 8.4 C++ 运算符重载
C/C++语言是一种通用的编程语言,具有高效.灵活和可移植等特点.C语言主要用于系统编程,如操作系统.编译器.数据库等:C语言是C语言的扩展,增加了面向对象编程的特性,适用于大型软件系统.图形用户界面 ...
- 我管你什么okr还是kpi,PPT轻松交给你
word一键转ppt 通过[文件]→[选项]→[快速访问工具栏],选择[不在功能区中的命令],找到[发送到Microsoft PowerPoint ],单击[添加]后再[确定] 调出功能按钮后,就可以 ...
- Mysql数据库迁移|如何把一台服务器的mysql数据库迁移到另一台服务器上的myql中
前言 那么这里博主先安利一下一些干货满满的专栏啦! Linux专栏https://blog.csdn.net/yu_cblog/category_11786077.html?spm=1001.2014 ...
- 七款云上共享文件系统 POSIX 兼容性大比拼
当用户在进行文件系统选型时,POSIX 语义兼容性是必不可缺的一项考察指标.JuiceFS 一直非常重视对 POSIX 标准的高度兼容,在持续完善功能.提高性能的同时,尽力保持最大程度的 POSIX ...
- NC20477 [ZJOI2008]树的统计COUNT
题目链接 题目 题目描述 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w. 我们将以下面的形式来要求你对这棵树完成 一些操作: I. CHANGE u t : 把结点u的权值改为t II ...
- NC15557 连续区间的最大公约数
题目链接 题目 题目描述 给一个数列共n(n<=100,000)个数,a1,a2,...,an.(0<=ai<=1000,000,000).有q(q<=100,000)个询问. ...
- NC23501 小A的回文串
题目链接 题目 题目描述 小A非常喜欢回文串,当然我们都知道回文串这种情况是非常特殊的.所以小A只想知道给定的一个字符串的最大回文子串是多少,但是小A对这个结果并不是非常满意.现在小A可以对这个字符串 ...
- ORA-12514问题解决
版本:11.2.0.1.0 - 64bit 本机安装Oracle后链接测试发现以下情况: sqlplus scott/tiger 正常登陆 sqlplus scott/tiger@orcl 登陆失败 ...
- Puppeteer介绍
Puppeteer是什么 Puppeteer是一个Node库,它提供了一个高级API来通过DevTools协议控制Chromium或Chrome. 可以使用Puppeteer来自动化完成浏览器的操作, ...