可编程定时器

⚠️
您好,谢谢您来到论坛。令人兴奋的消息!我们正在迁移到新的论坛平台,该平台将提供更好的功能,并包含在主对话网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量-请在//www.wsdof.com/support.我们将在未来几天内修复bug/优化搜索和标记。
4个员额/0个新员额
最后一篇文章
李亚德诺夫
离线
最后一次见到:1年5个月前
加入:2019-07-31 13:57
可编程定时器

亲爱的支持团队!请您解释一下,如何设置外部睡眠模式的时间间隔。

设备:
PM_对话框
离线
最后一次见到:5小时23分钟前
工作人员
加入:2018-02-08 11:03
你好,李亚德诺夫,

你好,李亚德诺夫,

如果我能从您的问题中正确理解,您想要完成的是使用软件计时器,以便在设备处于延长睡眠模式时定期醒来?请检查应用程序_easy_timer()。否则,请澄清您的问题。

谢谢,下午好

李亚德诺夫
离线
最后一次见到:1年5个月前
加入:2019-07-31 13:57
嗨,你完全明白我的意思

您好,您完全理解我的问题,但为了清楚地了解app_easy_timer()的工作情况,我需要检查任何示例,但在SDK中我没有看到app_easy_timer()从ext.sleep模式唤醒的示例。您有吗?

PM_对话框
离线
最后一次见到:5小时23分钟前
工作人员
加入:2018-02-08 11:03
你好,李亚德诺夫,

你好,李亚德诺夫,

使用SDK6.0.10(6.0.10.511\projects\target\u apps\ble\u examples\ble\u app\u sleepmode)的ble\u app\u睡眠模式示例。此示例演示如何将DA14585置于永久睡眠状态。在用户\u app\u adv\u start()中设置计时器功能到期后,设备将停止播放广告并进入延长睡眠模式。您可以通过按一个按钮通过唤醒控制器将其唤醒。请参见下面的内容。为了通过app_easy_timer()将其唤醒,应进行以下修改:

1.定义新的计时器处理程序:

定时器唤醒定时器使用的定时器属性((节(“保留内存区域0”),零初始化))//保留内存

2.从用户\u app\u adv\u undirect\u complete()中注释掉app\u按钮\u enable(),并设置计时器:

wakeup_timer_used=应用程序_easy_timer(唤醒至,应用程序按钮按cb);

3.将WAKEUP_定义为ble_app_sleepmode.h头文件

4.到期时,将触发唤醒计时器\u cb()。设备将唤醒并再次开始广告

静态void wakeup_timer_cb(void){if(GetBits16(SYS_STAT_REG,PER_IS_DOWN)){periph_init()}如果(arch_ext_wakeup_get()){arch_set_sleep_mode(app_default_sleep_mode);arch_force_wakeup();arch_ext_wakeup_off();app_easy_wakeup()//如果状态不空闲,则忽略消息如果(ke_state_state_get=任务可连接){user_app_adv_start();}}

5.停止定时器启动连接。

应用程序轻松定时器取消(使用唤醒定时器);

如果您按照上述步骤操作,系统将播发APP_ADV_DATA_UPDATE_至秒。然后它将进入睡眠模式,并在唤醒至秒后唤醒。如果您发现这些步骤有用,请将票据标记为“已接受”。

谢谢,下午好