如何动态进入睡眠模式?

4个帖子 / 0新
最后一篇文章
Brian1025
离线
最后一次露面:4年8个月前
加入:2016-04-11 13:18
如何动态进入睡眠模式?

嗨mt_dialog,

我想为DA14580设计一个沉睡的计时器,因此,为了实现这一点,我将尝试使用BLE Barebone示例。我想知道我应该如何开始?我知道从UM-B-006中,我需要在第7节中使用这些API,但是我应该放在哪里?在Arch_main.c的主循环中?

我的算法将是:

DA14580启动
DA14580全速运行而不进入睡眠模式
DA14580在2分钟后进入延长的睡眠模式(<<

设备:
mt_dialog
离线
最后一次露面:5个月1周前
职员
加入:2015-06-08 11:34
嗨,Brian1025,

嗨,Brian1025,

是的,这是正确的,您可以使用Arch_disable_sleep(),Arch_set_extdended_sleep(),Arch_set_deep_sleep()(其SDK5中的API),动态更改睡眠模式。关于您的实现,您应该在2分钟内设置内核计时器,可以在设备准备好后启用,例如,在设备完成配置数据库或设备完成配置其具有的角色之后(更具体地说)在app_on_db_init_complete或app_on_set_dev_config_complete中,甚至在设备启动广告时。当计时器击中时,您可以在计时器处理程序中调用您想要的睡眠模式。

谢谢mt_dialog

Brian1025
离线
最后一次露面:4年8个月前
加入:2016-04-11 13:18
感谢您的建议。

感谢您的建议。

现在,我想检查董事会的寿命,如果它从未进入睡眠模式。当广告为740UA时,我已经测量了板上的电流。间隔(不确定,但是App_dialog_beacon_proj.h中的代码的注释提到了700ms)。因此,我想知道如何将寿命计算为UM-B-019中的桌子?我发现每个间隔所消耗的费用不会(740UA*700ms),因为它不是整个700ms间隔的广告,因此广告的持续时间是多少?如UM-B-019所述,总是9.85ms?

请建议,谢谢!

mt_dialog
离线
最后一次露面:5个月1周前
职员
加入:2015-06-08 11:34
嗨,Brian1025,

嗨,Brian1025,

580个广告一次,每次广告间隔一次,因此您必须找到广告活动中的时间和费用(检查图19),然后减去广告活动的时间(在该事件的时间为9.85毫秒灯塔从广告间隔(广告间隔并不总是固定,随机延迟 +-10ms插入到间隔中以避免碰撞广告消息),以找到该广告,以避免碰撞广告,以便找到该广告,以达到广告的时间)略有减少。收取您的设备睡眠/保持空闲时消耗的费用。这样,您将发现您的设备在广告周期中消耗了多少,最终是电池的使用寿命。

谢谢mt_dialog

主题锁定