打印
[应用相关]

STM32低功耗配置

[复制链接]
1752|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
稳稳の幸福|  楼主 | 2017-11-15 16:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
低功耗使用stop模式:
1、所有IO口配置成模拟输入即可,不需要每个IO口单独配置上拉输入下拉输入

    GPIO_InitTypeDef        GPIO_InitStructure;


    GPIO_DeInit(GPIOA);
    GPIO_DeInit(GPIOB);   
    GPIO_DeInit(GPIOC);
         
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC , ENABLE);

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
   
    GPIO_Init(GPIOA, &GPIO_InitStructure);
    GPIO_Init(GPIOB, &GPIO_InitStructure);
    GPIO_Init(GPIOC, &GPIO_InitStructure);

2、如果ADC开了,一定要关闭,ADC独立供电,耗电300mA左右。 在Stop模式下,其它外设可以不用关闭,因为Stop模式下其它外设时钟会被关闭。
ADC_Cmd(ADC1, DISABLE);


沙发
稳稳の幸福|  楼主 | 2017-11-15 16:49 | 只看该作者

3、配置中断唤醒引脚,Stop模式下任意外部中断或事件都可以唤醒。选择一个IO口配置成中断即可。

4、进入Stop模式,调用下面函数:
/* Enable PWR APB1 Clock */

        RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);
PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);

进入Stop模式,MCU最小外围电路40~50uA ,如果耗电大,则需要检测外围的电路的耗电模块。

使用特权

评论回复
板凳
稳稳の幸福|  楼主 | 2017-11-15 16:49 | 只看该作者
希望能够帮到大家解决这个低功耗问题。

使用特权

评论回复
地板
huahuagg| | 2017-11-15 21:14 | 只看该作者
这四点应该是低功耗的关键。

使用特权

评论回复
5
huahuagg| | 2017-11-15 21:14 | 只看该作者
缺一不可,要不然你总觉得效果不好

使用特权

评论回复
6
一路向北lm| | 2017-11-15 22:50 | 只看该作者
这个电流也不好测试,关键没仪器。

使用特权

评论回复
7
a20084666| | 2017-11-16 14:40 | 只看该作者
你用的是什么芯片,功耗能到多少

使用特权

评论回复
8
稳稳の幸福|  楼主 | 2017-11-16 21:03 | 只看该作者
这个就是仁者见仁智者见智了,具体的参考官方的理想条件下测试的结果,个人测试略有出入正常。

使用特权

评论回复
9
Brand2| | 2017-11-21 17:04 | 只看该作者
进入Stop模式,MCU最小外围电路40~50uA

这是官方标准码

使用特权

评论回复
10
15920009260| | 2019-10-11 14:12 | 只看该作者
本帖最后由 15920009260 于 2019-10-11 14:15 编辑

你好,请问你测出来的功耗是多少呢?我测出来有1mA(STOP),按理说应该不会这么大才对!!顺便说一下,待机模式下的电流是50uA(STANDBY)。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

175

主题

3190

帖子

8

粉丝