STM32F103C8T6 Standby低功耗模式

2019-09-11来源: eefocus关键字:STM32F103C8T6  Standby  低功耗模式

1. 开发环境:

winXP

MDK4.45

STM32 3.5固件库


2. 低功耗模式简介

刚接触PWR的内容,使用手册说的不太能让我好理解。其实当你弄懂了以后再回去看使用手册还是能找到的,只是写的过于简略,对于初学者很多地方理解不到位。 


这个小总结完全从初学者角度,目的只有一个:进入/唤醒 PWR的standby模式。其实更多的是如何配置进入,唤醒基本上是配置好了后自动完成或硬件出发的,我们需要做的退出后的设计。这块内容暂不作为本次讨论内容。


NVIC  和 PWR 各寄存器状态决定三种低功耗模式:

低功耗模式一览表

 PS: 

STM32F的NRST是异步复位脚。


当NRST输入低电平的时候,MCU处于复位状态,重设所有的内部寄存器,及片内几十KB的SRAM。


当NRST从低电平变高时,PC指针从0地址开始。


但是复位的时候不会将STM32F片内RTC的寄存器以及后备存储器重置,因为它们是用电池通过专门的VBAT脚供电。


STM32中的NRST有施密特功能。大概在输入电压低于1.9V的时候将芯片复位。


这里重点说standby模式

进入Standby模式后,静态SRAM和特殊功能寄存器的数据全部丢失,只保留备份寄存器和待机电流维持工作,这意味着:


① 所有IO口都被置为高阻抗输入(复位脚,被使能的唤醒脚,被配置为TAMPER的脚除外)


② 每次被唤醒相当于一次冷启动

关键字:STM32F103C8T6  Standby  低功耗模式 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic474152.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:一种STM32的串口控制台的实现
下一篇:STM32F103的W25Q64的DMA高效数据访问实现

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

stm32f103 c6t6 CAN总线的配置
KEIl5 环境下 中文显示复制过来有问题又懒得打字
发表于 2019-11-13
stm32f103 c6t6 CAN总线的配置
STM32F103C8T6学习笔记_串口USART的使用
1、     M  bps                 兆   比特每秒                   Million     bits per second      (形容传输速率)    波特率(BaudRate)(bound )        &nbs
发表于 2019-10-23
STM32学习【2】STM32F103C8T6串口2USART2程序
STM32F103C8T6串口1(PA10/RXD1,PA9/TXD1)用来烧写程序,串口2(PA3/RXD2,PA2/TXD2)接串口模块与电脑串口助手通信。IO口PA1接LED+470R电阻+D3V3。调试后,能正常运行的程序如下:#include "stm32f10x.h"#include "stm32f10x_usart.h" #define LED_ON  GPIO_ResetBits(GPIOA ,GPIO_Pin_1)#define LED_OFF GPIO_SetBits(GPIOA ,GPIO_Pin_1) void GPIO_Config
发表于 2019-10-16
STM32学习【2】STM32F103C8T6串口2USART2程序
Stm32f103c8t6工程模板(内部晶振)源码
虽说内部晶振相对外部晶振误差较大,但是在大部分情况下不需要太高的精确度,使用内部晶振就可以搞定。单片机源程序如下:#include "config.h"Sys_timeTypeDef Systime={0,0,0,0};u8 once=0;void Init_Systick(void)   //滴答定时器{                SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK);        SysTick_C
发表于 2019-10-14
STM32F103C8T6使用普通IO口模拟串口收发
在单片机用基本定时器来完成这样的事情。。。。即完成非阻塞式通讯!(1)定时器开启如下:(2)调用发送函数:UART4_Send_Buf(...);//注意STM32F103C8t6是没有串口4的!!!这是虚拟串口!!(3)调用的发送函数里面开启了定时器,所以接下来将在定时期中断中进行发送操作发送函数模拟了串口的时序:开始-发送-结束发送完一个字节,然后从缓冲区callback(),调用下一个字节进行传输!代码段如下:static void send_remain_byte(void){ if(VirtualUart.send_cnt>=VirtualUart.send_max) { VirtualUart.send_flag
发表于 2019-09-11
STM32F103C8T6使用普通IO口模拟串口收发
STM32待机模式Standby Mode与ADC DMA模式测试备忘
1)STM32运行十秒后自动进入待机,使用WakeUp引脚唤醒CPU后,重复以上动作。int main(void){ time_cnt = 0;        HAL_Init(); SystemClock_Config();     HAL_GPIO_WritePin(GPIOG, GPIO_PIN_13, GPIO_PIN_RESET); HAL_PWR_DisableWakeUpPin(PWR_CSR_EWUP); //禁止wakeup PA0引脚,可以用来做普通引脚功能     while (1) { H
发表于 2019-08-15
STM32待机模式Standby Mode与ADC DMA模式测试备忘
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved