我的样机在执行“停止”命令后: PWR_EnterSTOPMode(PWR_Regulator_LowPower,PWR_STOPEntry_WFI); 仍消耗90uA的电流,这远远大于手册上给出的数值,请教同行,是哪个设定不到位, 请求同行们的支援!!!! 我的应用体会如下,请同行指正。 1. 在执行“停止”指令之后,“SysTick Timer”也被关断了,在用中断唤醒之后,它会自动恢复运行!!!!!! 2. 在用中断退出“停止”方式之后,程序要在“停止”语句之后的语句开始执行。 3. 未使用的管脚,要配置成模拟脚,可减少电流消耗,在我的应用中,可减少0.2mA左右。 4. 执行“停止”指令之后,关断了一切时钟,切断时钟就是关断外设,所以,你所用的外设, 就不用再单独使用指令关断了。 |
RE:STM32F101VCT6的”停止”电流有90uA, 如何解决 ??
回复:STM32F101VCT6的”停止”电流有90uA, 如何解决 ??
将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);
也能再次下载程序 !!!!
感谢大家的关心和支持,共同学习,共同提高。
RE:STM32F101VCT6的”停止”电流有90uA, 如何解决 ??
回复:STM32F101VCT6的”停止”电流有90uA, 如何解决 ??
MCU的功耗你比较难测量的。
调试引脚关了怎么样还能继续下载呢? 我每次都要用其他清空一遍再烧 麻烦得很啊…………