请教单片机使用不同的复位方式导致运行功耗不同的原因?

2019-12-20 21:30发布

本帖最后由 擦鞋匠 于 2018-4-12 16:56 编辑

实验环境:
stm32vct6 + keil5.25

问题引子:
最近使用stm32f1vct6调试低功耗,发现使用不同的复位方式导致最终运行功耗不同,感觉很困惑,恳请各位指教!

实验程序:
程序源码我就不贴出了,大致过程如下:
<1>单片机初始化相关硬件。
<2>while(1)循环(在while(1)循环中进入停止模式)。
<3>使用外部rtc引脚连接单片机引脚触发外部中断(外部rtc设置每秒唤醒一次单片机)。

实验现象:
<1>下载后直接运行程序:2.01ma。
<2>断电后重新上电运行:1.09ma。
<3>开启硬件调试后运行:2.04ma。

针对实验现象相关解释:
* 三组电流数据全部使用万用表直接连接单片机电源引脚测得(电压都是3.3V,VDD和VDDA都是使用该电源)。
* 个人觉得无需考虑程序带来的影响,因为三组数据都是使用相同的程序,相同的外部电路。

实验问题:
关于复位,《权威指南》page78有如下解释:
上电复位   :复位处理器,调试组件和外设。
系统复位   :复位处理器和外设。
处理器复位:只复位处理器。

《1》问题1:下载后直接运行:mdk中说是“Reser and Run”。请问这个“Reset"属于哪种复位?
《2》如何解释上述三组电流数据之间的差异?

恳请各位指教,不胜感激!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
擦鞋匠
1楼-- · 2019-12-21 03:06
先自顶!
pen245760036
2楼-- · 2019-12-21 09:03
<1>下载后直接运行程序:2.01ma。
个人猜测 下载端通讯模块还没关闭,下载的引脚没进行低功耗处理 这个得具体去查 st下载原理
<2>断电后重新上电运行:1.09ma。
<3>开启硬件调试后运行:2.04ma,必须的 调试通讯模块能不耗电吗 单单引脚输出信号都得用电
2201
3楼-- · 2019-12-21 11:15
问题1:系统复位;
问题2:实验现象1和2之间的电流差异是你测试的问题,实验现象2和3之间 打开调试肯定会增加功耗。

为何你的测试结果是毫安级别的???
rogerllg
4楼-- · 2019-12-21 12:03
我觉得和外围器件有一定关系,是不是某个IO口的电压高低不一样了~

一周热门 更多>