可编程定时器

了解更多常见问题教程

4个职位/0个新职位
最后一篇文章
李亚德诺夫
离线
最后一次见到:9个月2周前
已加入:2019-07-31 13:57
可编程定时器

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

设备:
PM\U对话框
离线
最后一次见到:2天12小时前
工作人员
已加入:2018-02-08 11:03
你好,李亚德诺夫,

你好,李亚德诺夫,

如果我能从你的问题中正确理解的话,你想实现的是使用一个软件定时器,以便在设备处于延长睡眠模式时定期唤醒?请检查应用程序\u easy\u timer()。否则,请澄清你的问题。

谢谢,下午好

李亚德诺夫
离线
最后一次见到:9个月2周前
已加入:2019-07-31 13:57
嗨,你明白我的意思吗

您好,您完全理解我的问题,但为了清楚地了解app\u easy\u timer()的工作情况,我需要检查任何示例,但在SDK中我没有看到app\u easy\u timer()从外部睡眠模式唤醒的示例。有吗?

PM\U对话框
离线
最后一次见到:2天12小时前
工作人员
已加入:2018-02-08 11:03
你好,李亚德诺夫,

你好,李亚德诺夫,

使用SDK6.0.10的ble\u app\u睡眠模式示例(6.0.10.511\projects\target\u apps\ble\u examples\ble\u app\u睡眠模式)。此示例演示如何将DA14585置于永久睡眠状态。在user\u app\u adv\u start()函数中设置了一个计时器,当计时器过期时,设备将停止广告并进入延长睡眠模式。您可以通过唤醒控制器按一个按钮将其唤醒。请参见下面的修改,以便通过app\u easy\u timer()将其唤醒:

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

timer_hnd wakeup_timer_used_uuuattribute_uuu((section(“retention_mem_area0”),zero_init));//@保留内存

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

wakeup\u timer\u used=app\u easy\u timer(wakeup\u TO,app\u button\u press\u cb);

三。将WAKEUP\u定义为ble\u app\u sleepmode.h头文件

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

静态void wakeup_timer_cb(void){if(GetBits16(SYS_STAT_REG,PER_IS_DOWN)){periph_init();}if(arch_ble_ext_wakeup_get()){arch_set_sleep_mode(app_default_sleep_mode);arch_ble_force_wakeup();arch_ble_ext_wakeup_off();app_easy_wakeup();}//如果状态为非空闲,忽略消息if(ke_state_get(TASK_APP)==APP_CONNECTABLE){user_APP_adv_start();}}

5停止定时器启动连接。

应用程序\简易\定时器\取消(唤醒\定时器\已使用);

如果您按照上述步骤操作,系统将播发APP\u ADV\u DATA\u UPDATE\u TO seconds。然后它将进入睡眠模式,并在唤醒到秒后唤醒。如果您觉得这些步骤有用,请将票标为“已接受”。

谢谢,下午好