关于STM32F407 STOP模式 低功耗的电流偏大

2020-03-01 11:58发布

大家好!      最近有个项目用 STM32F407VGT6  (100pin , 内1MBFLASH)  低功耗的电流偏大 , 程序请看图


测试说明如下:
     1. STM32F407VGT6 只接了8M的高频晶振和32K低频晶振 , 其它IO全部空接, 设置为输入上拉

测试结果:
     STOP模式 ,  电流300uA                     
     PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);                        //300uA
       
     待机模式 ,         12uA       
     PWR_EnterSTANDBYMode();                                                                                        //12uA

我需要STOP模式降低电流, 还需要设置或关闭 什么?

程序代码:
int main(void)
{
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2
   delay_init(168);      //初始化延时函数       
   My_RTC_Init();                                                                 //初始化RTC
   //RTC_Set_WakeUp(RTC_WakeUpClock_CK_SPRE_16bits,0);                //配置WAKE UP中断,1秒钟中断一次           
   //RTC_Set_WakeUp(RTC_WakeUpClock_RTCCLK_Div2,8192);                //配置WAKE UP中断,0.5秒钟中断一次        
   RTC_GetTime(0,&RTC_Time);
   RTC_GetDate(0,&RTC_Date);       
   RtcMinter = RTC_Time.RTC_Minutes;       
   RTC_Set_WakeUp_Close();                                                                                                                                //关闭唤醒RTC
   delay_ms(2000);
   while(1)
   {
      LED_Init();                                          //初始化
      IoClock_DISABLE();                //关闭所以IO时钟, 影响不大
      //使能电源管理单元的时钟
      RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);                                 //休眼         
      PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);  //300uA
     //PWR_EnterSTANDBYMode();                                                                  //12uA
    __asm("nop");
    __asm("nop");
    __asm("nop");
    Set_HighClock();
    delay_us(100);
  }
}
               
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
airwill
1楼-- · 2020-03-01 15:10
不一定在代码上, 你看看端口漏电情况有没有, 各个引脚的情况
乐声电子
2楼-- · 2020-03-01 15:13
airwill 发表于 2020-2-20 20:24
不一定在代码上, 你看看端口漏电情况有没有, 各个引脚的情况

1. STM32F407VGT6 只接了8M的高频晶振和32K低频晶振 , 其它IO全部空接, 设置为输入下拉.

airwill
3楼-- · 2020-03-01 16:34
看看是不是跟 SWD 口有关,  端口内部有上下拉, 需要根据端口特性设置合适的上下拉

一周热门 更多>