历史上的今天
今天是:2025年01月20日(星期一)
2020年01月20日 | STM32F030C8T6 STM32F030R8T6 STM32F030 STOP低功耗模式配置 11uA
2020-01-20 来源:eefocus
1、进入睡眠的关键语句
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);
PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);
2、进入低功耗需要的配置,GPIO配置原则:不回路,不悬空输入。下面是将所有IO输出为0
//输出
GPIOA->MODER = 0x55555555;
GPIOB->MODER = 0x55555555;
GPIOC->MODER = 0x55555555;
GPIOD->MODER = 0x55555555;
GPIOF->MODER = 0x55555555;
//即不上拉,也不下拉
GPIOA->PUPDR = 0x00000000;
GPIOB->PUPDR = 0x00000000;
GPIOC->PUPDR = 0x00000000;
GPIOD->PUPDR = 0x00000000;
GPIOF->PUPDR = 0x00000000;
//输出0
GPIOA->ODR=0x00000000;
GPIOB->ODR=0x00000000;
GPIOC->ODR=0x00000000;
GPIOD->ODR=0x00000000;
GPIOF->ODR=0x00000000;
3、非常重要:在配置IO之前,一定要先开启GPIO时钟
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB, ENABLE);
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOC, ENABLE);
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOD, ENABLE);
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOF, ENABLE);
好了,以上三点在程序中的顺序是反的,配置好之后,11uA!
如果第2点之前没有第3点,则2.6mA。
#include "stm32_lib/inc/stm32f0xx_rcc.h"
#include "stm32_lib/inc/stm32f0xx_pwr.h"
int main(void)
{
//必须先开启时钟,在配置IO,否则配置的IO无效,电流无法进入uA级
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB, ENABLE);
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOC, ENABLE);
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOD, ENABLE);
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOF, ENABLE);
//进入低功耗模式,IO配置原则为不悬空输入、不形成回路
//下面是配置输出为0
//输出
GPIOA->MODER = 0x55555555;
GPIOB->MODER = 0x55555555;
GPIOC->MODER = 0x55555555;
GPIOD->MODER = 0x55555555;
GPIOF->MODER = 0x55555555;
//即不上拉,也不下拉
GPIOA->PUPDR = 0x00000000;
GPIOB->PUPDR = 0x00000000;
GPIOC->PUPDR = 0x00000000;
GPIOD->PUPDR = 0x00000000;
GPIOF->PUPDR = 0x00000000;
//输出0
GPIOA->ODR=0x00000000;
GPIOB->ODR=0x00000000;
GPIOC->ODR=0x00000000;
GPIOD->ODR=0x00000000;
GPIOF->ODR=0x00000000;
//
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);
PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);
while(1)
{
}
}

史海拾趣
|
由于这段时间工作很忙,OUR ROBOT 1号的研发工作一直搁浅。最近利用指导本科毕业生毕业设计的机会,和漂亮的毕业生陈MM一起制作了一辆可播放语音的红外遥控小车,也算是把OUR ROBOT 1号的一些核心部件进行了实际组装测试,收获颇多,先看看照片吧。 ...… 查看全部问答> |
|
错误如下,请问高手如何解决? [Warning] 2812.SCHDOC Compiler Nets Wire AGND has multiple names (Net Label AGND,Net Label G1,Net Label G2,Net Label GND,Net Label VCC) 17:08:30 2008-4-21 1 另外:当光标停留在电源或地符号上时出现提示 ...… 查看全部问答> |
|
还是那个555的。 俺昨天试了试,发现一个问题: 假如输入在20秒的延迟内没有回复到高电平,那么,输出将一直保持高电平...... 也就是说我的想法,没戏。 这时,我想,其实就是一个延时触发么。 假如说还用555,想到的一个方法是,做成 ...… 查看全部问答> |




