×
单片机 > 单片机程序设计 > 详情

STM32F030C8T6 STM32F030R8T6 STM32F030 STOP低功耗模式配置

发布时间:2020-05-28 发布时间:
|

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)

    {

    }

}



关键字:STM32F030C8T6  STM32F030R8T6  STM32F030  STOP  低功耗模式 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
Keil(MDK-ARM)系列教程(七)_菜单