具体要点为:
1、所有IO管脚,如果高阻状态端口是高电平,就设成上拉输入,如果高阻状态是低电平,设成下拉输入,如果高阻是中间状态,设成模拟输入。这个很多人都提到过,必须的。作为输出口就免了,待机你想输出个什么东西,一定要输,硬件上加上下拉就可以了
2、两个晶振输入脚要remap成普通IO!!!使用内部晶振。
3、pwr的时钟要使能,_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);这个也相当重要
4、关闭jtag口,并设成普通IO;
5、注意助焊膏的质量!!!注意电路板层之间是否进水!!!!
掌握这几项要点,再设中断什么的都行,整个世界清静了!!!完全低能耗。
/////////////////////////////////////////////////
STM32F103C8T6低功耗至25uA,再也下不去了
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);
PWR_EnterSTANDBYMode();
这样操作可以使系统功耗降至20uA左右,但是需要输出高电平的引脚成了低电平;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);
PWR_EnterSTOPMode(PWR_Regulator_LowPower,PWR_STOPEntry_WFE) ;
这样的话可以使高电平保持高电平,可是功耗有800uA+。
求助:
3、pwr的时钟要使能,_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);这个也相当重要
为什么加入这条后原来输出高电平的引脚会变为低电平
///////////////////////////////////////////////////////////////////////////////////////
具体要点为:
1、所有IO管脚,如果高阻状态端口是高电平,就设成上拉输入,如果高阻状态是低电平,设成下拉...
楼主,第4条是怎么设置的?
我用的SWD加载固件,直接在进入STOP模式之前将全部的IO配置为下拉输入。
我用的芯片是STM32F030F4,整理的几条配置是:
1、用WFI进入STOP模式
2、IO口设置成下拉输入模式
3、使能PWR时钟
4、使用HSI,OSC_IN和OSC_OUT两个管脚配置为普通IO,下拉输入模式。
。
这里说如果高阻状态端口是高电平,就设成上拉输入,如果高阻状态是低电平,设成下拉输入,如果高阻是中间状态,设成模拟输入。但是看到数据手册里面说进入待机模式后,所有
IO口自动设置为高阻态,也就说在进入待机模式之前设置了上拉或则下拉还是模拟还有效果吗?
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
stm32f103停止模式 来自淘豆网m.daumloan.com转载请标明出处.