本帖最后由 擦鞋匠 于 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》如何解释上述三组电流数据之间的差异?
恳请各位指教,不胜感激!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
个人猜测 下载端通讯模块还没关闭,下载的引脚没进行低功耗处理 这个得具体去查 st下载原理
<2>断电后重新上电运行:1.09ma。
<3>开启硬件调试后运行:2.04ma,必须的 调试通讯模块能不耗电吗 单单引脚输出信号都得用电
问题2:实验现象1和2之间的电流差异是你测试的问题,实验现象2和3之间 打开调试肯定会增加功耗。
为何你的测试结果是毫安级别的???
一周热门 更多>