各位大侠:刚采用STM8L052C6 发现HALT 模式下电流达300多uA。
后精简硬件测试还是发现功耗电流下不来。电路上只对IC供给3.3v,外围电路只有NRST脚上的reset电路。
进入halt mode的软件如下:
CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_LSI);
while (CLK_GetSYSCLKSource() != CLK_SYSCLKSource_LSI)
{}
Flash_OFF_act_halt();
PWR_FastWakeUpCmd(DISABLE);
PWR_UltraLowPowerCmd(ENABLE);
CLK_HaltConfig(CLK_Halt_FastWakeup, DISABLE);
halt();
请各位大侠指点,感谢~
此帖出自
小平头技术问答
进入halt mode 的GPIO设置如下:
GPIO_DeInit(GPIOA);
GPIO_DeInit(GPIOB);
GPIO_DeInit(GPIOC);
GPIO_DeInit(GPIOD);
GPIO_DeInit(GPIOE);
GPIO_Init(GPIOA, GPIO_Pin_All, GPIO_Mode_Out_OD_HiZ_Slow);
GPIO_Init(GPIOB, GPIO_Pin_All, GPIO_Mode_Out_OD_HiZ_Slow);
GPIO_Init(GPIOC, GPIO_Pin_All, GPIO_Mode_Out_OD_HiZ_Slow);
GPIO_Init(GPIOD, GPIO_Pin_All, GPIO_Mode_Out_OD_HiZ_Slow);
GPIO_Init(GPIOE, GPIO_Pin_All, GPIO_Mode_Out_OD_HiZ_Slow);
GPIO_Init(GPIOF, GPIO_Pin_All, GPIO_Mode_Out_OD_HiZ_Slow);
/* Select LSI as System clock source */
CLK_SYSCLKSourceConfig(CLK_SYSCLKSource_LSI);
while (CLK_GetSYSCLKSource() != CLK_SYSCLKSource_LSI)
{}
Flash_OFF_act_halt();
PWR_FastWakeUpCmd(DISABLE);
PWR_UltraLowPowerCmd(ENABLE);
CLK_HaltConfig(CLK_Halt_FastWakeup, DISABLE);
halt();
一周热门 更多>