STM32F101VCT6的”停止”电流有90uA, 如何解决 ??
我的样机在执行“停止”命令后:
PWR_EnterSTOPMode(PWR_Regulator_LowPower,PWR_STOPEntry_WFI);
仍消耗90uA的电流,这远远大于手册上给出的数值,请教同行,是哪个设定不到位,
请求同行们的支援!!!!
我的应用体会如下,请同行指正。
1.
在执行“停止”指令之后,“SysTick Timer”也被关断了,在用中断唤醒之后,它会自动恢复运行!!!!!!
2.
在用中断退出“停止”方式之后,程序要在“停止”语句之后的语句开始执行。
3. 未使用的管脚,要配置成模拟脚,可减少电流消耗,在我的应用中,可减少0.2mA左右。
4. 执行“停止”指令之后,关断了一切时钟,切断时钟就是关断外设,所以,你所用的外设,
就不用再单独使用指令关断了。
RE:STM32F101VCT6的”停止”电流有90uA, 如何解决 ??
如果要测试STM32的电流,最好的方法是不要焊接外部器件,只焊接最小系统,这样测试出来的是最准确的。回复: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的功耗还是整个样机的功耗?MCU的功耗你比较难测量的。 hwrhys 发表于 2012-2-8 22:49
将JTAG有关的管脚禁止,并配置为模拟输入的模式,整个的系统电流就降到36微安,
调试引脚关了怎么样还能继续下载呢? 我每次都要用其他清空一遍再烧 麻烦得很啊…………:L 不错,能去的都去掉。:) 不知道。。。。。 你测得应该是板子功耗
页:
[1]