刚接触PWR的内容,使用手册说的不太能让我好理解。其实当你弄懂了以后再回去看使用手册还是能找到的,只是写的过于简略,对于初学者很多地方理解不到位。
这个小总结完全从初学者角度,目的只有一个:进入/唤醒 PWR的standby模式。其实更多的是如何配置进入,唤醒基本上是配置好了后自动完成或硬件出发的,我们需要做的退出后的设计。这块内容暂不作为本次讨论内容。
一 低功耗模式简介
NVIC 和 PWR 各寄存器状态决定三种低功耗模式:
低功耗模式一览表
PS: STM32F的NRST是异步复位脚。
当NRST输入低电平的时候,MCU处于复位状态,重设所有的内部寄存器,及片内几十KB的SRAM。
当NRST从低电平变高时,PC指针从0地址开始。
但是复位的时候不会将STM32F片内RTC的寄存器以及后备存储器重置,因为它们是用电池通过专门的VBAT脚供电。
STM32中的NRST有施密特功能。大概在输入电压低于1.9V的时候将芯片复位。
这里重点说standby模式
二 设置stm32 进入standby模式需要
1 PWR配置
a-- RCC配置时候开启 PWR、BKP时钟
/* Enable PWR and BKP clock */
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);
b-- 允许 PWR唤醒
/* Enable WKUP pin */
PWR_WakeUpPinCmd(ENABLE);
c-- 允许 进入备份域 (为什么需要这样,下文详解)
/* Allow access to BKP Domain */
PWR_BackupAccessCmd(ENABLE);
2 进入中断
PWR_EnterSTANDBYMode();
这一句话完成了表7里 standby MODE "操作" 的内容
void PWR_EnterSTANDBYMode(void)
{
/* Clear Wake-up flag */
PWR->CR |= CR_CWUF_Set;
/* Select STANDBY mode */ ----PDDS位
PWR->CR |= CR_PDDS_Set;
/* Set SLEEPDEEP bit of Cortex System Control Register */ ----sleepdeep位
*(vu32 *) SCB_SysCtrl |= SysCtrl_SLEEPDEEP_Set;
/* Request Wait For Interrupt */
__WFI(); ----wfi
}
三 从standby 模式唤醒
表7、表11中都可知从standby 模式中唤醒的方式有四种
RTC闹钟
WKUP引脚上升沿
NRST上引脚外部复位
IWDG 复位
下图解释了我最初的不明白---RTC 和standby什么联系
- 大小: 30.9 KB
- 大小: 82.3 KB
- 大小: 76.3 KB
- 大小: 45.5 KB
- 大小: 87.1 KB
分享到:
相关推荐
Example_PWR_Standby_RTC.7z
Example_PWR_Standby.7z
1,支持正点原子STM32NANO开发板。 2,基于ST例程修改。 3,drive文件夹已经简化。 4,上电5S后进入待机模式。 5,使用KEYUP退出待机模式。
周期性唤醒,需要使用外部中断线22,外部中断线22和RTC的WUTF标志,这两个标志控制RTC_WKUP_IRQn中断,系统复位后是不会触发该中断的,因为EXTI_PR被复位了; 系统复位后,需要重新配置外部中断线与中断优先级,开关...
采用STM32F429IGT6单片机,KeilMDK5.32版本 使用SysTick系统滴答定时器进行延时 ...注意点:需要置位PWR 电源控制/状态寄存器 (PWR_CSR)中的EWUP才能使用PA0使得从待机模式下唤醒;进入待机模式前,需要清除WUF标志位
//使能PWR和BKP外设时钟 PWR_BackupAccessCmd(ENABLE); //使能后备寄存器访问 if (BKP_ReadBackupRegister(BKP_DR1) != 0xA0A0) //从指定的后备寄存器中读出数据:读出了与写入的指定数据不相乎 { BKP_...
在一段时间休眠后,RTC唤醒后工作一段时间,又休眠,然后考RTC唤醒
芯嵌STM32入门系列教程之二十三《STM32待机模式的使用》1
Example_PWR_Stop.7z
STM32L系列单片机低功耗相关设置和初始化代码。
STM32F2—电源管理PWR
DSOX3PWRpdf,DSO3XPWR 选件是集成于 InfiniiVision 3000 X 系列示波器的功率测量和分析选件。...DSOX3PWR 选件还包含基于 PC 的 U1881A-003 功率测量和分析软件的用户许可证,能够更深入地分析您的电源测量。
低功耗系列芯片 STM32L15x_电源管理PWR和低功耗模式
Embedded system applications on MCBSTM32 Eval Board with a new RTOS
STM32实例程序 5.PWR_test_电源控制STM32实例程序 5.PWR_test_电源控制STM32实例程序 5.PWR_test_电源控制STM32实例程序 5.PWR_test_电源控制STM32实例程序 5.PWR_test_电源控制STM32实例程序 5.PWR_test_电源控制...
HP Switch 2650-PWR和2626-PWR符合IEEE 802.3af标准,支持以太网供电交换机,每个端口提供高达15.4W的功率。另外冗余和外部电源还作为附件提供。 符合以太网供电交换机 (IEEE 802.3af) 标准 (Switch 2650-PWR/Switch...
PWR_EnterSTANDBYMode() update to implement the recommended prior wakeup sequence to each Standby mode entry mainly when using more than one wakeup source this is to not miss any wakeup event Remove ...
Example for a PWR BWR HeatGeneration NuclearReactors
曾经开发STM32用过的一些基本应用的源代码,希望对学习嵌入式的同学们有所用处
串口接收设置为DMA循环串口空闲接收,接收到用户数据并修改RTC CNT寄存器后进入待机模式(唤醒后等于复位,除了备份寄存器和RTC部分寄存器和电源控制/状态寄存器(PWR_CSR)没有被复位外,其他寄存器被复位。...