STM32F101VCT6的”停止”电流有90uA如何解决?

2019-07-14 17:48发布


     
我的样机在执行“停止”命令后:
     PWR_EnterSTOPMode(PWR_Regulator_LowPower,PWR_STOPEntry_WFI);   

仍消耗90uA的电流,这远远大于手册上给出的数值,请教同行,是哪个设定不到位,
请求同行们的支援!!!!

     我的应用体会如下,请同行指正。

1.
在执行“停止”指令之后,“Systick Timer”也被关断了,在用中断唤醒之后,它会自动恢复运行!!!!!!

2.
在用中断退出“停止”方式之后,程序要在“停止”语句之后的语句开始执行。

3. 未使用的管脚,要配置成模拟脚,可减少电流消耗,在我的应用中,可减少0.2mA左右。

4.       执行“停止”指令之后,关断了一切时钟,切断时钟就是关断外设,所以,你所用的外设,
就不用再单独使用指令关断了。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
8条回答
ncsan
2019-07-15 02:16
 
       
   将JTAG有关的管脚禁止,并配置为模拟输入的模式,整个的系统电流就降到36微安,
 STM32加其它外围器件到这个水平,这就可以了,问题基本解决!!!!!!!!!!
配置如下:             
   GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);
 
/* Configure PA.13 (JTMS/SWDAT), PA.14 (JTCK/SWCLK) and PA.15 (JTDI) as
        GPIO_Mode_AIN; */
     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15;
     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
     GPIO_Init(GPIOA, &GPIO_InitStructure);
 
/* Configure PB.03 (JTDO) and PB.04 (JTRST) as GPIO_Mode_AIN; */
     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4;
     GPIO_Init(GPIOB, &GPIO_InitStructure);
 
      也能再次下载程序 !!!!
 
                           感谢大家的关心和支持,共同学习,共同提高。
 

一周热门 更多>