打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
实战经验,Nordic 52832 低功耗模式与唤醒机制

写在前面:最近产品开始在功耗攻关环节,中间出现了很多问题搞得焦头烂额的,通过查阅手册和向大牛们请教才刚刚好理顺了思路。

正文:

1、问题一:由于前期方便调试,让产品一直处在持续广播模式,一直未发现问题。设置广播超时之后,理论上如果没有外设连接的话,超时时间timeout之后会切换进入低功耗模式,但是一进去就会重启,原先代码配置如下:




    结果产品进入睡眠之后,就会很快重启,百思不得其解,解决问题的本质还是得回归技术手册,看下面:


    进入睡眠之前一定要将使用EasyDMA的外设停掉,一开始以为只要各外设的时钟关掉就不会存在进睡眠失败的问题,但是手册这么说了就得这么干,把外设停掉之后,问题解决了,产品成功进睡眠。

2、问题二:进睡眠之后,定时器就不跑了,这样每次从睡眠中唤醒的时候(我是用外部中断唤醒的)时间不就不准了,我使用RTC定时器为时间基准来实现日历功能的,当然肯定还有别的更好的方式。

    为了解决这个问题,也只能放弃进入睡眠模式,而是进入另一种低功耗模式,在此模式下,必须使用外部32.768,这样定时器才可以正常跑,调用sd_app_evt_wait();这个接口可让产品进入这个模式。晶振必须选择32.768:配置如下:




3、 system off mode 和sd_app_evt_wait()区别: 前者不光core停掉,peripheral也停掉了,等同于关机。

    而d_app_evt_wait();等同于WFE__,core停掉了,但是peripheral可以单独运行。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
​灵动代理MM32F031K6兼容STM32F030K6
Linux的低功耗
[原创]STM32L476RG Nuleo 评测
华大电子MCU-CIU32F011x3、CIU32F031x5特点和简介
stm32
兆易创新推出GD32L233系列全新低功耗MCU,开启节能“芯”时代
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服