我做一款产品,需要低功耗,芯片是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();
。。。。。。。。。。。。。。。。。
可是试验了一下,还是一天就把电耗完了。高手给看看,哪里有问题?谢谢!
|
@xch :谢谢!我用的是睡眠模式。
你这软件写错了,wfi 指令本身进不了最低的功耗模式。在进入之前需要将ARM mcu 内核 的 SLEEPDEEP位置1.