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

2019-07-19 21:30发布

最近做的一个程序,在进入低功耗后。测得电流还有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
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
挣点圆子
1楼-- · 2019-07-19 22:45
来人啊!救火啊!
挣点圆子
2楼-- · 2019-07-20 04:05
 精彩回答 2  元偷偷看……
正点原子
3楼-- · 2019-07-20 07:09
 精彩回答 2  元偷偷看……
zhflyaa
4楼-- · 2019-07-20 08:34
注意避免漏电流。 尽量少用上拉电阻。
onebank
5楼-- · 2019-07-20 11:07
 精彩回答 2  元偷偷看……

一周热门 更多>