如何在深度睡眠几个小时或几天后自动醒来

10个帖子/ 0个新
最后发表
achao1104
离线
最后看到:5年4个月前
主
加入:2015-12-24 10:56
如何在深度睡眠几个小时或几天后自动醒来

嗨,对话框中,

我想让da14580进入深度睡眠模式几个小时或几天,然后自动醒来,如何以最少的能量消耗做到这一点?

彼得

设备:
cosianer
离线
最后看到:4年6个月前
加入:2015-05-19 09:11
@彼得:

@彼得:
通常,您可以使用内核计时器(app_timer_set)来唤醒设备。必须创建一个timer_处理程序或使用一个现有的处理程序。我以APP_ADV_BLINK_TIMER为例。最大延迟时间由KE_TIMER_DELAY_MAX = 30000 -> 300秒限制。我认为这个常量可以更改为0xFFFF = 65535 -> 655秒。
我也有同样的问题。我也喜欢在几小时后把手机叫醒。此时,我会通过655秒后唤醒设备,重新启动Kernel timer来解决这个问题。这应该花费更少的时间和精力。

这是实现长时间睡眠间隔的好方法吗?或者,你怎么解这个?怎样才能最好地解决这个问题呢?

谢谢!

MT_dialog
离线
最后看到:两个月四个星期前
工作人员
加入:2015-06-08 34
嗨achao1104, cosianer

嗨achao1104, cosianer

您可以将设备置于深度睡眠状态,并配置一个内核定时器来唤醒设备。但是内核计时器没有能力在如此长的时间间隔(如小时或天)中进行设置,内核计时器的最大值大约是5分钟。你必须醒来并重置计时器。不建议将KE_TIMER_DELAY_MAX更改为更大的值,因为它没有经过测试,我们不能保证一个正确的函数。我同意这是一个限制,但在当时ke_timer是如何正常工作的。

由于MT_dialog

achao1104
离线
最后看到:5年4个月前
主
加入:2015-12-24 10:56
谢谢,能麻烦你一下吗

谢谢,能否提供一下使用5分钟睡眠间隔的内核定时器的示例?

achao1104
离线
最后看到:5年4个月前
主
加入:2015-12-24 10:56
Timer0不适合

Timer0不适合这种情况?

MT_dialog
离线
最后看到:两个月四个星期前
工作人员
加入:2015-06-08 34
嗨achao1104,

嗨achao1104,

只需设置一个内核计时器,并将其设置为它所能获得的最大值(KE_TIMER_DELAY_MAX),如果您想使用硬件计时器,则不能进入睡眠模式,一旦设备进入睡眠状态,所有外围设备就会关闭电源。

由于MT_dialog

achao1104
离线
最后看到:5年4个月前
主
加入:2015-12-24 10:56
谢谢。

谢谢。

ericxiong
离线
最后看到:2年4个月前
加入:2015-08-16 08:22
嗨achao1104:

嗨achao1104:

您可以使用一个额外的变量来存储5分钟计时器超时的次数。我也像你的用例那样做了。

achao1104
离线
最后看到:5年4个月前
主
加入:2015-12-24 10:56
但是设备醒了,然后

虽然我们可以控制它是否会做广告,但是这个设备会苏醒,会消耗能量。

brent_zheng
离线
最后看到:1个月前4个星期前
加入:2017-08-25 07:50
嗨,对话框

嗨,对话框
我们可以在14585中做同样的事情,使用计时器从深度睡眠中醒来。如果是,从深度睡眠中唤醒会导致系统重置,我如何判断它是否从计时器中唤醒?