[STM32L1] 急急急求,stml151低功耗问题,电流下不来,高手指点

[复制链接]
1879|11
 楼主| joneming 发表于 2015-10-23 14:35 | 显示全部楼层 |阅读模式
本帖最后由 joneming 于 2015-10-23 14:41 编辑

大家好,我用空板单CPU调试stml151低功耗,
正常启动
电流都是0.44uA
但我多次按复位键时(多数电流都是0.44uA)
偶尔出现一次电流为1.4到1.5mA的情况,
之后不管我怎么按复位键电流都回不到0.44uA的情况了(但按复位键程序都可以正常复位)
只能断电,重新上电之后才能回到0.44uA的情况
是什么原因呢??

/***********************************************************************/
int main(void)
{
    RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);
    while (1)
    {
        GPIO_InitTypeDef GPIO_InitStructure;   
        RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA|RCC_AHBPeriph_GPIOB|RCC_AHBPeriph_GPIOC|RCC_AHBPeriph_GPIOD|RCC_AHBPeriph_GPIOE|RCC_AHBPeriph_GPIOH, ENABLE);
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_400KHz;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN;
        GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
        GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;
        GPIO_Init(GPIOA, &GPIO_InitStructure);
        GPIO_Init(GPIOB, &GPIO_InitStructure);
        GPIO_Init(GPIOC, &GPIO_InitStructure);
        GPIO_Init(GPIOD, &GPIO_InitStructure);
        GPIO_Init(GPIOE, &GPIO_InitStructure);
        GPIO_Init(GPIOH, &GPIO_InitStructure);  
        PWR_UltraLowPowerCmd(ENABLE);   
        /* Enter Stop Mode */
        PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);
    }
}
crystal1987 发表于 2015-10-23 14:40 | 显示全部楼层
理论上系统中不需要的资源都关掉。你把不用的IO使能都关掉,可能功耗会降低点。
 楼主| joneming 发表于 2015-10-23 14:43 | 显示全部楼层
你没看清楚我说的问题,,
我多次按复位键时(多数电流都是0.44uA)
偶尔出现一次电流为1.4到1.5mA的情况,
1.5mA好大了,不是uA
而且之后不管我怎么按复位键电流都回不到0.44uA的情况了(但按复位键程序都可以正常复位)
只能断电,重新上电之后才能回到0.44uA的情况
songchenping 发表于 2015-10-23 15:03 | 显示全部楼层
可能是你按复位键的问题啊。
lwsn 发表于 2015-10-23 15:29 | 显示全部楼层
出现1.5mA时,程序运行还正常吗
 楼主| joneming 发表于 2015-10-23 16:09 | 显示全部楼层
出现1.5mA时,程序运行还正常吗
还可以正常运行,复位也可以
我在while(1)前打印输出都有效
 楼主| joneming 发表于 2015-10-23 16:11 | 显示全部楼层
songchenping 发表于 2015-10-23 15:03
可能是你按复位键的问题啊。

换N个板都一样,拿示波器看复位波形也很好,一点干扰都没有
 楼主| joneming 发表于 2015-10-23 16:12 | 显示全部楼层
lwsn 发表于 2015-10-23 15:29
出现1.5mA时,程序运行还正常吗

还可以正常运行,复位也可以
我在while(1)前打印输出都有效
309030106 发表于 2015-10-25 17:56 | 显示全部楼层
出现1.4到1.5mA的情况之后,是不是这个电流就降不下来了,一直都这么大
FireRiver9 发表于 2015-10-25 18:06 | 显示全部楼层
是哪的电流啊,会不会是某些元件的储能放电了
冰河w 发表于 2015-10-25 18:24 | 显示全部楼层
有可能啊,不过电容放电会有这么大电流吗
sla 发表于 2015-11-23 09:56 | 显示全部楼层
复位不充分的问题,可尝试把复位时间拉长,超过最短复位脉冲宽度两倍,该问题应能解决
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

7

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部