STM32低功耗--停机模式

根据项目需要选择的是停机模式

 

进入停止模式之后,任何外部中断都可以唤醒低功耗,但是需要重新配置时钟,不然系统将以默认时钟(没有经过倍频)运行。

 

 

1.进入低功耗

RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);                    

PWR_EnterSTOPMode (PWR_Regulator_ON,PWR_STOPEntry_WFI);

 

2.降低低功耗,需要配置没有使用的GPIO,改变它的默认配置状态。演示状态是关闭所有IO外设,具体情况,可以自行配置

  GPIO_InitTypeDef  GPIO_InitStructure;
       RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA|RCC_AHB1Periph_GPIOB|RCC_AHB1Periph_GPIOC|RCC_AHB1Pe    riph_GPIOD|RCC_AHB1Periph_GPIOH, ENABLE);//
    
  GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_All;    
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_AN;
      
  GPIO_Init(GPIOA, &GPIO_InitStructure);
  GPIO_Init(GPIOB, &GPIO_InitStructure);
  GPIO_Init(GPIOC, &GPIO_InitStructure);

  GPIO_Init(GPIOD, &GPIO_InitStructure);

3.检查有没有配置ADC等其他的外设,一定要关闭ADC等其他的外设时钟。

 

4.如何进行唤醒操作?

在中断处理函数中,进行下系统初始化就可以了。

SystemInit();

如果不进行系统初始化,则以默认时钟进行运行。

 

5.经过测试MCU消耗400ua。

 

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值