OpenEdv-开源电子网

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

紧急求助,STM8L的低功耗问题

[复制链接]

15

主题

56

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
231
金钱
231
注册时间
2015-3-12
在线时间
18 小时
发表于 2015-12-5 13:17:53 | 显示全部楼层 |阅读模式
5金钱
最近做的一个程序,在进入低功耗后。测得电流还有8.05个mA。检查好几天不知道问题所在。求高手帮助。
以下是本人进入低功耗halt();之前的部分关闭代码:

 void EnterStopMode(void)
{        
    WR->CSR2 = 0x2;    //设置STM8进入低电压模式
 //停机前关闭不需要的功能模块的时钟 
    TIM4_Cmd(DISABLE);
    while((TIM4->CR1 & TIM4_CR1_CEN) != 0x00);
    CLK_PeripheralClockConfig(CLK_Peripheral_ADC1,DISABLE);
    CLK_PeripheralClockConfig(CLK_Peripheral_TIM4,DISABLE);//
    CLK_PeripheralClockConfig(CLK_Peripheral_BEEP, DISABLE);//关闭蜂鸣器时钟
     TIM2_Cmd(DISABLE);
      while((TIM2->CR1 & TIM_CR1_CEN) != 0x00);
      CLK_PeripheralClockConfig(CLK_Peripheral_TIM2,DISABLE);///这个和配置按键中断有冲突,不能放在配置按键中断后面,原因不详

//以上是关闭时钟    
///没有用的脚输出低 
  GPIO_Init(GPIOA , GPIO_Pin_0| GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_5| GPIO_Pin_6 | GPIO_Pin_7   ,                                                                   GPIO_Mode_Out_PP_Low_Slow);
  GPIO_Init(GPIOB , GPIO_Pin_0| GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_7   ,                                                                                   GPIO_Mode_Out_PP_Low_Slow);  
GPIO_Init(GPIOC , GPIO_Pin_0| GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5|  GPIO_Pin_6 | GPIO_Pin_7   , GPIO_Mode_Out_PP_Low_Slow);  
GPIO_Init(GPIOD , GPIO_Pin_0| GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_6 |  GPIO_Pin_7   , GPIO_Mode_Out_PP_Low_Slow);   GPIO_Init(GPIOE , GPIO_Pin_0| GPIO_Pin_6 | GPIO_Pin_7   , GPIO_Mode_Out_PP_Low_Slow);   GPIO_Init(GPIOF , GPIO_Pin_0| GPIO_Pin_1 | GPIO_Pin_5| GPIO_Pin_6 | GPIO_Pin_7   ,                                                             GPIO_Mode_Out_PP_Low_Slow);
  GPIO_Init(GPIOG , GPIO_Pin_0| GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3  , GPIO_Mode_Out_PP_Low_Slow);  
//有用脚设置
 GPIO_Init(GPIOA , GPIO_Pin_4  , GPIO_Mode_Out_PP_Low_Slow);///蜂鸣器  
 GPIO_Init(GPIOB , GPIO_Pin_1 , GPIO_Mode_Out_PP_Low_Slow);///电池ADC  
 GPIO_Init(GPIOB , GPIO_Pin_5 , GPIO_Mode_Out_PP_High_Slow);///充电控制,禁止充电    
 GPIO_Init(GPIOB , GPIO_Pin_6 , GPIO_Mode_Out_PP_High_Slow);///放电控制,禁止放电  
 GPIO_Init(GPIOD , GPIO_Pin_5 , GPIO_Mode_Out_PP_High_Slow);///电池给VCC外设供电的开关  
 GPIO_Init(GPIOE , GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4, GPIO_Mode_Out_PP_Low_Slow);//  
 GPIO_Init(GPIOE, GPIO_Pin_5 , GPIO_Mode_Out_PP_Low_Slow);///电容ADC
}

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

使用道具 举报

15

主题

56

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
231
金钱
231
注册时间
2015-3-12
在线时间
18 小时
 楼主| 发表于 2015-12-5 13:42:20 | 显示全部楼层
回复

使用道具 举报

15

主题

56

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
231
金钱
231
注册时间
2015-3-12
在线时间
18 小时
 楼主| 发表于 2015-12-5 18:19:59 | 显示全部楼层
找到了3个脚。其中一个想不通。另外两个是IIC的脚,不能配置为低。但仍有180uA的电流。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165186
金钱
165186
注册时间
2010-12-1
在线时间
2106 小时
发表于 2015-12-5 23:30:25 | 显示全部楼层
帮顶....
回复

使用道具 举报

2

主题

3

帖子

0

精华

初级会员

Rank: 2

积分
137
金钱
137
注册时间
2013-4-19
在线时间
33 小时
发表于 2015-12-8 10:00:43 | 显示全部楼层
注意避免漏电流。 尽量少用上拉电阻。
回复

使用道具 举报

7

主题

54

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
205
金钱
205
注册时间
2015-11-14
在线时间
98 小时
发表于 2015-12-10 14:49:10 | 显示全部楼层
楼主是不是确定没用到的引脚拉低输出能降低功耗的? 输出再拉低相当于把PIN共地,这样的话不应该也有微弱电流从单片机内部流向地端吗,我觉得设为浮空输入最好,不过我没有这样实践过,你可以试一下啊
敢想敢为,敢做敢当。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-9-30 04:14

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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