STM32F103C8T6 低功耗休眠模式不起作用

2019-03-23 14:38发布

我做一款产品,需要低功耗,芯片是STM32F103C8T6.板子上有一个STM32F103C8T6芯片,一个蓝牙模块,10个按键,一个指示灯。
用CR2032供电。
不加低功耗功能时,一天就把电耗完了。
后来加了低功耗睡眠模式,程序如下:

int main(void)
{
        u8 **;
        long int i;
        char flag=0;
        Stm32_Clock_Init(9);                    //72MHz
    //IWDG_Init(6,800);               //看门狗初始化,256分频,800计数,复位时间5s
        CPU_Init();                     //CPU初始化               
        VAR_Init();                                                //变量初始化
        Timer_Init();                                        //定时器初始化
        //usart1_init(115200);                        //串口1初始化
        usart1_init(9600);               
        usart2_init(115200);                        //串口2初始化
        InitKeyboard();

555.jpg





可是试验了一下,还是一天就把电耗完了。高手给看看,哪里有问题?谢谢!

此帖出自小平头技术问答  

9条回答
懒猫爱飞
2019-03-23 19:49



103的低功耗没有做过,可以从以下几个地方入手
1) 睡觉前把对应的端口的高低电平设置的与外围电路一致,比如外围是高,你也把对应的IO设置成高
2) 休眠前,把不用的外围手工关掉,比如串口,ADC,I2C等,唤醒以后再重新初始化
3) 先用一下最小系统进入休眠状态,测试一下功耗是多少
4) 然后算一下外围的功耗是多少
5) 可以把比较耗电的外围加上电源开关,在不用的时候,关掉电源

一周热门 更多>