stm32F407ZET6 stop模式 最小系统功耗有7ma?

2020-01-01 17:44发布

程序如下  用的最小系统 MCU+外部晶振8M+3.3v电源

一进main就进入停机

        RCC_APB2PeriphClockCmd(RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB |   
                       RCC_AHB1Periph_GPIOC | RCC_AHB1Periph_GPIOD|RCC_AHB1Periph_GPIOE|
        RCC_AHB1Periph_GPIOF|RCC_AHB1Periph_GPIOG|RCC_AHB1Periph_GPIOH ,ENABLE);  
      

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;  
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;            
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN;   
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
            
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(GPIOF, &GPIO_InitStructure);   
GPIO_Init(GPIOG, &GPIO_InitStructure);
GPIO_Init(GPIOH, &GPIO_InitStructure);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);//ʹÄÜPWRʱÖÓ       
                PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);


电流有7ma左右 。。。。没有外部电路哎~~~~怎么回事?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
14条回答
lcw_swust
2020-01-02 03:53
这有个帖子你看看6楼第3点:
http://bbs.21ic.com/icview-558242-1-1.html
原文:

具体要点为:
1、所有IO管脚,如果高阻状态端口是高电平,就设成上拉输入,如果高阻状态是低电平,设成下拉输入,如果高阻是中间状态,设成模拟输入。这个很多人都提到过,必须的。作为输出口就免了,待机你想输出个什么东西,一定要输,硬件上加上下拉就可以了
2、两个晶振输入脚要remap成普通IO!!!使用内部晶振。
3、pwr的时钟要使能,即RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);这个也相当重要
4、关闭jtag口,并设成普通IO;
5、注意助焊膏的质量!!!注意电路板层之间是否进水!!!!

一周热门 更多>