stm32 stop模式低功耗

2019-08-08 12:07发布

开机默认进入STOP模式,电流为0.65mA左右,运行程序某种条件下再次进入Stop低功耗模式,电流却为5.8mA左右,想请问下原子大哥和各位,STM32的低功耗应该怎么来处理比较恰当,在网上查资料,说是将不用的IO口设置为模拟输入,清中断,禁止不用的时钟,但是我做了实验,清中断和禁止不用的时钟确实能把电流降下来,设置不用的IO口为模拟输入不但没有降,反而达到了30-300mA,在这个范围一直跳变。。。。



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
ST-FAE-SALE
1楼-- · 2019-08-08 15:36
你设置成上拉输入或者输出低电平看看。
wuxinxinggg
2楼-- · 2019-08-08 19:40
回复【2楼】ST-FAE-SALE:
---------------------------------
输入脚设置为上拉输入确实小了点,但是我的输入脚不多,输出脚和中断脚比较多!有没有一个基本的原则可以参考,谢谢
ST-FAE-SALE
3楼-- · 2019-08-08 22:37
我找下
具体要点为:
1、所有IO管脚,如果高阻状态端口是高电平,就设成上拉输入,如果高阻状态是低电平,设成下拉输入,如果高阻是中间状态,设成模拟输入。这个很多人都提到过,必须的。作为输出口就免了,待机你想输出个什么东西,一定要输,硬件上加上下拉就可以了
2、两个晶振输入脚要remap成普通IO!!!使用内部晶振。
3、pwr的时钟要使能,即RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);这个也相当重要
4、关闭jtag口,并设成普通IO;
5、注意助焊膏的质量!!!注意电路板层之间是否进水!!!!
wuxinxinggg
4楼-- · 2019-08-08 23:54
 精彩回答 2  元偷偷看……
正点原子
5楼-- · 2019-08-09 01:58
回复【5楼】wuxinxinggg:
---------------------------------
高阻顾名思义就是很高的阻抗,也就是内阻很大的时候的状态,其实就是不和你的外部电平打架,比方说你的PA0口,接了个1K的电阻到VCC,那么你肯定就不应该设置PA0为下拉了,因为你下拉,那么就和1K的电阻组成了一个回路,会有电流.如果你设置成上拉,那么横竖都是高,不构成回路,那么就不会有电流.以降低功耗.
 
第二点我也不是很明确,还请 ST-FAE-SALE 明示.
关闭jtag,可以调用我们提供的JTAG_Set函数.
wuxinxinggg
6楼-- · 2019-08-09 03:22
回复【6楼】正点原子:

回复【5楼】wuxinxinggg:
---------------------------------
高阻顾名思义就是很高的阻抗,也就是内阻很大的时候的状态,其实就是不和你的外部电平打架,比方说你的PA0口,接了个1K的电阻到VCC,那么你肯定就不应该设置PA0为下拉了,因为你下拉,那么就和1K的电阻组成了一个回路,会有电流.如果你设置成上拉,那么横竖都是高,不构成回路,那么就不会有电流.以降低功耗.
 
第二点我也不是很明确,还请 ST-FAE-SALE 明示.
关闭jtag,可以调用我们提供的JTAG_Set函数.

---------------------------------
谢谢原子大哥和ST-FAE-SALE,顺便请问下原子大哥JTAG_Set函数在哪个例程里面!

一周热门 更多>