OpenEdv-开源电子网

标题: STM8L151进入低功耗 halt模式, 功耗还有300uA,求个大神指点迷津 [打印本页]

作者: ouzhen    时间: 2017-5-20 11:04
标题: STM8L151进入低功耗 halt模式, 功耗还有300uA,求个大神指点迷津
外围没有接任何电路, 进入halt模式前所有端口都设置为开路 低电平输出,STM8L151进入低功耗 halt模式, 功耗还有300uA,怎样才能做到手册上说的( 停止模式  350nA),有哪位大神能指点迷津,我感激不尽,单片机型号是STM8L151C8(48管脚的),我的代码如下
#define MyGPIO_Mode_Type   GPIO_Mode_Out_OD_Low_Slow
void HardWarePort_Def(void)                                       
{
  GPIO_Init(GPIOA, GPIO_Pin_2, MyGPIO_Mode_Type);
  GPIO_Init(GPIOA, GPIO_Pin_3, MyGPIO_Mode_Type);
  GPIO_Init(GPIOA, GPIO_Pin_4, MyGPIO_Mode_Type);
  GPIO_Init(GPIOA, GPIO_Pin_5, MyGPIO_Mode_Type);
  GPIO_Init(GPIOA, GPIO_Pin_6, MyGPIO_Mode_Type);
  GPIO_Init(GPIOA, GPIO_Pin_7, MyGPIO_Mode_Type);

  GPIO_Init(GPIOB, GPIO_Pin_0, MyGPIO_Mode_Type);
  GPIO_Init(GPIOB, GPIO_Pin_1, MyGPIO_Mode_Type);
  GPIO_Init(GPIOB, GPIO_Pin_2, MyGPIO_Mode_Type);
  GPIO_Init(GPIOB, GPIO_Pin_3, MyGPIO_Mode_Type);
  GPIO_Init(GPIOB, GPIO_Pin_4, MyGPIO_Mode_Type);
  GPIO_Init(GPIOB, GPIO_Pin_5, MyGPIO_Mode_Type);
  GPIO_Init(GPIOB, GPIO_Pin_6, MyGPIO_Mode_Type);
  GPIO_Init(GPIOB, GPIO_Pin_7, MyGPIO_Mode_Type);

  GPIO_Init(GPIOC, GPIO_Pin_0, MyGPIO_Mode_Type);
  GPIO_Init(GPIOC, GPIO_Pin_1, MyGPIO_Mode_Type);  
  GPIO_Init(GPIOC, GPIO_Pin_2, MyGPIO_Mode_Type);
  GPIO_Init(GPIOC, GPIO_Pin_3, MyGPIO_Mode_Type);
  GPIO_Init(GPIOC, GPIO_Pin_4, MyGPIO_Mode_Type);
  GPIO_Init(GPIOC, GPIO_Pin_5, MyGPIO_Mode_Type);
  GPIO_Init(GPIOC, GPIO_Pin_6, MyGPIO_Mode_Type);
  GPIO_Init(GPIOC, GPIO_Pin_7, MyGPIO_Mode_Type);

  GPIO_Init(GPIOD, GPIO_Pin_0, MyGPIO_Mode_Type);
  GPIO_Init(GPIOD, GPIO_Pin_1, MyGPIO_Mode_Type);
  GPIO_Init(GPIOD, GPIO_Pin_2, MyGPIO_Mode_Type);
  GPIO_Init(GPIOD, GPIO_Pin_3, MyGPIO_Mode_Type);
  GPIO_Init(GPIOD, GPIO_Pin_4, MyGPIO_Mode_Type);
  GPIO_Init(GPIOD, GPIO_Pin_5, MyGPIO_Mode_Type);
  GPIO_Init(GPIOD, GPIO_Pin_6, MyGPIO_Mode_Type);
  GPIO_Init(GPIOD, GPIO_Pin_7, MyGPIO_Mode_Type);

  GPIO_Init(GPIOE, GPIO_Pin_0, MyGPIO_Mode_Type);
  GPIO_Init(GPIOE, GPIO_Pin_1, MyGPIO_Mode_Type);
  GPIO_Init(GPIOE, GPIO_Pin_2, MyGPIO_Mode_Type);
  GPIO_Init(GPIOE, GPIO_Pin_3, MyGPIO_Mode_Type);
  GPIO_Init(GPIOE, GPIO_Pin_4, MyGPIO_Mode_Type);
  GPIO_Init(GPIOE, GPIO_Pin_5, MyGPIO_Mode_Type);
  GPIO_Init(GPIOE, GPIO_Pin_7, MyGPIO_Mode_Type);

  GPIO_Init(GPIOF, GPIO_Pin_0, MyGPIO_Mode_Type);

}
void main()
{  
  disableInterrupts()   //关闭系统总中断
  //CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1); //内部时钟为1分频 = 16Mhz
  HardWarePort_Def();
  enableInterrupts();   //使能系统总中断
  CLK_DeInit();
  PWR_FastWakeUpCmd(DISABLE);
  PWR_UltraLowPowerCmd(ENABLE);
  halt();
  while(1)
  {

  }
}



作者: mon51    时间: 2017-5-21 09:47
STM32L151进入停机状态都可以到几个uA,先检查外围电路是否有粘连!1、你把所有端口改成:高或模拟输入状态。2、降低内核、RAM、flash供电电压。
作者: ouzhen    时间: 2017-5-21 16:17
mon51 发表于 2017-5-21 09:47
STM32L151进入停机状态都可以到几个uA,先检查外围电路是否有粘连!1、你把所有端口改成:高或模拟输入状态 ...

外围没有焊接器件,只有几个滤波电容和 复位电路
作者: 阳光100    时间: 2017-6-24 11:25
楼主解决了吗?

作者: lyons    时间: 2017-8-11 16:36
STM8所有的外设时钟默认是打开的,进入低功耗的时候你可以试试先提前把不用的时钟关掉
作者: Owen    时间: 2017-8-31 18:17
楼主,怎么测出来有300uA的?我现在做低功耗模式,电流小于1mA不好测试
作者: 赵士亮    时间: 2017-8-31 20:21
顶,,,
作者: Julius007    时间: 2017-9-3 23:15
大神  后面解决了功耗问题吗?
作者: ChaserMCU    时间: 2018-7-17 15:38
你的GPIOA0(如果此脚为SWIM)和GPIO1A(如果此脚为RST)也要设置成 GPIO_Mode_Out_OD_Low_Slow才行
作者: ssssssssssss    时间: 2018-7-18 09:24
楼主的解决方法找到了吗
作者: 张可    时间: 2018-7-27 09:52
之前使用STM8L152C6T6做个一个水浸探测器,RTC定时唤醒指示灯点亮一下,低功耗时电流约1uA,基本与手册里的参数吻合!
作者: 张可    时间: 2018-7-27 09:52

之前使用STM8L152C6T6做个一个水浸探测器,RTC定时唤醒指示灯点亮一下,低功耗时电流约1uA,基本与手册里的参数吻合!
作者: 张可    时间: 2018-7-27 09:52

之前使用STM8L152C6T6做个一个水浸探测器,RTC定时唤醒指示灯点亮一下,低功耗时电流约1uA,基本与手册里的参数吻合!
18205087545
作者: qiousanxi    时间: 2018-8-2 15:35
本帖最后由 qiousanxi 于 2018-8-2 15:36 编辑

首先,你先弄个最小系统,电源 BOOT脚 和芯片就行了,这样能确定到底是你芯片 功耗没降  还是外围
作者: 骓枫    时间: 2018-8-7 07:49
GPIO_Mode_Out_PP_Low_Slow
作者: 卢明    时间: 2018-11-29 13:21
楼主,问题解决了没? 我现在关闭了外设,GPIO管脚设置成推晚低速低压输出了,但Halt后还是在350uA,能指点一下吗?
作者: 默默莱    时间: 2018-11-30 11:46
卢明 发表于 2018-11-29 13:21
楼主,问题解决了没? 我现在关闭了外设,GPIO管脚设置成推晚低速低压输出了,但Halt后还是在350uA,能指点 ...

你有使用LDO芯片吗,我使用了 STAND-EXIT  2.7UA左右
作者: szczyb1314    时间: 2018-11-30 13:27
STM8所有的外设时钟默认是打开的,进入低功耗的时候先提前把不用的时钟关掉
作者: szczyb1314    时间: 2018-11-30 13:27

STM8所有的外设时钟默认是打开的,进入低功耗的时候先提前把不用的外设时钟关掉




欢迎光临 OpenEdv-开源电子网 (http://47.111.11.73/) Powered by Discuz! X3.4