完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我做一个低功耗的东西。使用STM32f072芯片,单纯烧录调试APP软件,系统进入睡眠后电流大约为2.2mA。然后做带在线升级功能,先烧录IAP的bootloader程序(官方例程),然后再烧录APP程序,系统进入睡眠模式后变成了5.86mA。系统功能没有问题都是正常的,但功耗却莫名增大了。系统睡眠调用PWR_EnterSleepMode(PWR_SLEEPEntry_WFI),为什么加了bootloader会影响系统功耗。
但是,其它代码都没有变,系统睡眠调用PWR_EnterSTOPMode(PWR_Regulator_LowPower,PWR_STOPEntry_WFI),不管烧录不烧录bootloader,系统进入睡眠后功耗都没有影响,前后一致。 |
|
相关推荐
8个回答
|
|
sleep和stop模式本来功耗就不一样的
|
|
|
|
你可能没注意看,我不是对比sleep和stop模式的功耗。而是说进入bootloader对功耗的不同。
|
|
|
|
我想是不是因为bootloader程序和APP程序独立,然后再APP使用PWR_EnterSleepMode(PWR_SLEEPEntry_WFI)对bootloader不起多大作用,系统正常运行的话是执行APP的程序,无法关闭bootloader中开启的时钟外设等,所以APP部分的功耗降下了,但bootloader的没降下去。整体就是没有降下去。但是如果使用PWR_EnterSTOPMode(PWR_Regulator_LowPower,PWR_STOPEntry_WFI),那么MCU的时钟都关闭了,那么整体的功耗就降下了,就算唤醒,也没有对bootloader唤醒处理。也就是说如果bootloader再退出切换到APP运行时要关闭外设及时钟,在进入APP程序,这样在APP睡眠功耗就会正常。
这个只是猜测,我要验证一下。 |
|
|
|
60user200 发表于 2018-12-10 12:55 感觉分析的挺有道理的,这个最好能测试验证下就知道了。 |
|
|
|
60user200 发表于 2018-12-10 12:55 你用的bootloader 的烧录app的方式是什麽方式呢?USART? USB? |
|
|
|
60user200 发表于 2018-12-10 12:55 你用的bootloader 的烧录app的方式是什麽方式呢?USART? USB? |
|
|
|
猜想:加了bootloader之后EnterSleepMode是否失败,进了其他功耗高一点的其他休眠模式
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2255 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
2071 浏览 3 评论
4687 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
2215 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2757 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 11:06 , Processed in 0.833689 second(s), Total 85, Slave 69 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号