OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6780|回复: 18

STM8L151进入低功耗 halt模式, 功耗还有300uA,求个大神指点迷津

[复制链接]

8

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2014-3-23
在线时间
11 小时
发表于 2017-5-20 11:04:49 | 显示全部楼层 |阅读模式
外围没有接任何电路, 进入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)
  {

  }
}


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

64

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
335
金钱
335
注册时间
2014-3-16
在线时间
111 小时
发表于 2017-5-21 09:47:52 | 显示全部楼层

回帖奖励 +10 金钱

STM32L151进入停机状态都可以到几个uA,先检查外围电路是否有粘连!1、你把所有端口改成:高或模拟输入状态。2、降低内核、RAM、flash供电电压。
回复 支持 反对

使用道具 举报

8

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
69
金钱
69
注册时间
2014-3-23
在线时间
11 小时
 楼主| 发表于 2017-5-21 16:17:32 | 显示全部楼层
mon51 发表于 2017-5-21 09:47
STM32L151进入停机状态都可以到几个uA,先检查外围电路是否有粘连!1、你把所有端口改成:高或模拟输入状态 ...

外围没有焊接器件,只有几个滤波电容和 复位电路
回复 支持 反对

使用道具 举报

1

主题

6

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2017-6-18
在线时间
3 小时
发表于 2017-6-24 11:25:11 | 显示全部楼层
楼主解决了吗?
回复 支持 反对

使用道具 举报

1

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
87
金钱
87
注册时间
2016-6-29
在线时间
12 小时
发表于 2017-8-11 16:36:25 | 显示全部楼层
STM8所有的外设时钟默认是打开的,进入低功耗的时候你可以试试先提前把不用的时钟关掉
回复 支持 反对

使用道具 举报

14

主题

171

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
449
金钱
449
注册时间
2017-3-31
在线时间
118 小时
发表于 2017-8-31 18:17:59 | 显示全部楼层
楼主,怎么测出来有300uA的?我现在做低功耗模式,电流小于1mA不好测试
回复 支持 反对

使用道具 举报

0

主题

125

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
221
金钱
221
注册时间
2017-5-26
在线时间
76 小时
发表于 2017-8-31 20:21:40 来自手机 | 显示全部楼层
顶,,,
回复 支持 反对

使用道具 举报

51

主题

214

帖子

0

精华

高级会员

Rank: 4

积分
561
金钱
561
注册时间
2011-4-11
在线时间
43 小时
发表于 2017-9-3 23:15:30 | 显示全部楼层
大神  后面解决了功耗问题吗?
回复 支持 反对

使用道具 举报

13

主题

85

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1897
金钱
1897
注册时间
2016-8-20
在线时间
238 小时
发表于 2018-7-17 15:38:09 | 显示全部楼层
你的GPIOA0(如果此脚为SWIM)和GPIO1A(如果此脚为RST)也要设置成 GPIO_Mode_Out_OD_Low_Slow才行
回复 支持 反对

使用道具 举报

160

主题

966

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2095
金钱
2095
注册时间
2014-3-7
在线时间
490 小时
发表于 2018-7-18 09:24:44 | 显示全部楼层
楼主的解决方法找到了吗
回复 支持 反对

使用道具 举报

1

主题

11

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
312
金钱
312
注册时间
2018-7-27
在线时间
117 小时
发表于 2018-7-27 09:52:02 | 显示全部楼层
之前使用STM8L152C6T6做个一个水浸探测器,RTC定时唤醒指示灯点亮一下,低功耗时电流约1uA,基本与手册里的参数吻合!
回复 支持 反对

使用道具 举报

1

主题

11

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
312
金钱
312
注册时间
2018-7-27
在线时间
117 小时
发表于 2018-7-27 09:52:42 | 显示全部楼层

之前使用STM8L152C6T6做个一个水浸探测器,RTC定时唤醒指示灯点亮一下,低功耗时电流约1uA,基本与手册里的参数吻合!
回复 支持 反对

使用道具 举报

1

主题

11

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
312
金钱
312
注册时间
2018-7-27
在线时间
117 小时
发表于 2018-7-27 09:52:56 | 显示全部楼层

之前使用STM8L152C6T6做个一个水浸探测器,RTC定时唤醒指示灯点亮一下,低功耗时电流约1uA,基本与手册里的参数吻合!
18205087545
回复 支持 反对

使用道具 举报

17

主题

193

帖子

0

精华

高级会员

Rank: 4

积分
708
金钱
708
注册时间
2014-7-2
在线时间
137 小时
发表于 2018-8-2 15:35:51 | 显示全部楼层
本帖最后由 qiousanxi 于 2018-8-2 15:36 编辑

首先,你先弄个最小系统,电源 BOOT脚 和芯片就行了,这样能确定到底是你芯片 功耗没降  还是外围
回复 支持 反对

使用道具 举报

0

主题

8

帖子

0

精华

初级会员

Rank: 2

积分
180
金钱
180
注册时间
2016-12-22
在线时间
40 小时
发表于 2018-8-7 07:49:47 | 显示全部楼层
GPIO_Mode_Out_PP_Low_Slow
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
2
金钱
2
注册时间
2018-11-29
在线时间
0 小时
发表于 2018-11-29 13:21:58 | 显示全部楼层
楼主,问题解决了没? 我现在关闭了外设,GPIO管脚设置成推晚低速低压输出了,但Halt后还是在350uA,能指点一下吗?
回复 支持 反对

使用道具 举报

17

主题

465

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2142
金钱
2142
注册时间
2013-1-11
在线时间
504 小时
发表于 2018-11-30 11:46:33 | 显示全部楼层
卢明 发表于 2018-11-29 13:21
楼主,问题解决了没? 我现在关闭了外设,GPIO管脚设置成推晚低速低压输出了,但Halt后还是在350uA,能指点 ...

你有使用LDO芯片吗,我使用了 STAND-EXIT  2.7UA左右
知识是你最好的财富
回复 支持 反对

使用道具 举报

26

主题

1533

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6369
金钱
6369
注册时间
2015-8-25
在线时间
1004 小时
发表于 2018-11-30 13:27:13 | 显示全部楼层
STM8所有的外设时钟默认是打开的,进入低功耗的时候先提前把不用的时钟关掉
回复 支持 反对

使用道具 举报

26

主题

1533

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6369
金钱
6369
注册时间
2015-8-25
在线时间
1004 小时
发表于 2018-11-30 13:27:44 | 显示全部楼层

STM8所有的外设时钟默认是打开的,进入低功耗的时候先提前把不用的外设时钟关掉
He who fights with monsters should look to it that he himself does not become a monster, when you gaze long into the abyss, the abyss also gazes into you.
过于执着就会陷入其中,迷失自己,困住自己。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-22 13:02

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表