嗨,对话框中,
我想让da14580进入深度睡眠模式几个小时或几天,然后自动醒来,如何以最少的能量消耗做到这一点?
彼得
@彼得:通常,您可以使用内核计时器(app_timer_set)来唤醒设备。必须创建一个timer_处理程序或使用一个现有的处理程序。我以APP_ADV_BLINK_TIMER为例。最大延迟时间由KE_TIMER_DELAY_MAX = 30000 -> 300秒限制。我认为这个常量可以更改为0xFFFF = 65535 -> 655秒。我也有同样的问题。我也喜欢在几小时后把手机叫醒。此时,我会通过655秒后唤醒设备,重新启动Kernel timer来解决这个问题。这应该花费更少的时间和精力。
这是实现长时间睡眠间隔的好方法吗?或者,你怎么解这个?怎样才能最好地解决这个问题呢?
谢谢!
嗨achao1104, cosianer
您可以将设备置于深度睡眠状态,并配置一个内核定时器来唤醒设备。但是内核计时器没有能力在如此长的时间间隔(如小时或天)中进行设置,内核计时器的最大值大约是5分钟。你必须醒来并重置计时器。不建议将KE_TIMER_DELAY_MAX更改为更大的值,因为它没有经过测试,我们不能保证一个正确的函数。我同意这是一个限制,但在当时ke_timer是如何正常工作的。
由于MT_dialog
谢谢,能否提供一下使用5分钟睡眠间隔的内核定时器的示例?
Timer0不适合这种情况?
嗨achao1104,
只需设置一个内核计时器,并将其设置为它所能获得的最大值(KE_TIMER_DELAY_MAX),如果您想使用硬件计时器,则不能进入睡眠模式,一旦设备进入睡眠状态,所有外围设备就会关闭电源。
谢谢。
嗨achao1104:
您可以使用一个额外的变量来存储5分钟计时器超时的次数。我也像你的用例那样做了。
虽然我们可以控制它是否会做广告,但是这个设备会苏醒,会消耗能量。
嗨,对话框我们可以在14585中做同样的事情,使用计时器从深度睡眠中醒来。如果是,从深度睡眠中唤醒会导致系统重置,我如何判断它是否从计时器中唤醒?
@彼得:
通常,您可以使用内核计时器(app_timer_set)来唤醒设备。必须创建一个timer_处理程序或使用一个现有的处理程序。我以APP_ADV_BLINK_TIMER为例。最大延迟时间由KE_TIMER_DELAY_MAX = 30000 -> 300秒限制。我认为这个常量可以更改为0xFFFF = 65535 -> 655秒。
我也有同样的问题。我也喜欢在几小时后把手机叫醒。此时,我会通过655秒后唤醒设备,重新启动Kernel timer来解决这个问题。这应该花费更少的时间和精力。
这是实现长时间睡眠间隔的好方法吗?或者,你怎么解这个?怎样才能最好地解决这个问题呢?
谢谢!
嗨achao1104, cosianer
您可以将设备置于深度睡眠状态,并配置一个内核定时器来唤醒设备。但是内核计时器没有能力在如此长的时间间隔(如小时或天)中进行设置,内核计时器的最大值大约是5分钟。你必须醒来并重置计时器。不建议将KE_TIMER_DELAY_MAX更改为更大的值,因为它没有经过测试,我们不能保证一个正确的函数。我同意这是一个限制,但在当时ke_timer是如何正常工作的。
由于MT_dialog
谢谢,能否提供一下使用5分钟睡眠间隔的内核定时器的示例?
Timer0不适合这种情况?
嗨achao1104,
只需设置一个内核计时器,并将其设置为它所能获得的最大值(KE_TIMER_DELAY_MAX),如果您想使用硬件计时器,则不能进入睡眠模式,一旦设备进入睡眠状态,所有外围设备就会关闭电源。
由于MT_dialog
谢谢。
嗨achao1104:
您可以使用一个额外的变量来存储5分钟计时器超时的次数。我也像你的用例那样做了。
虽然我们可以控制它是否会做广告,但是这个设备会苏醒,会消耗能量。
嗨,对话框
我们可以在14585中做同样的事情,使用计时器从深度睡眠中醒来。如果是,从深度睡眠中唤醒会导致系统重置,我如何判断它是否从计时器中唤醒?