亲爱的支持团队!请你给我解释一下,如何设置外景睡眠模式的时间间隔。
你好,李亚德诺夫,
如果我能从你的问题中正确理解的话,你想实现的是使用一个软件定时器,以便在设备处于延长睡眠模式时定期唤醒?请检查应用程序\u easy\u timer()。否则,请澄清你的问题。
谢谢,下午好
您好,您完全理解我的问题,但为了清楚地了解app\u easy\u timer()的工作情况,我需要检查任何示例,但在SDK中我没有看到app\u easy\u timer()从外部睡眠模式唤醒的示例。有吗?
使用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。然后它将进入睡眠模式,并在唤醒到秒后唤醒。如果您觉得这些步骤有用,请将票标为“已接受”。
你好,李亚德诺夫,
如果我能从你的问题中正确理解的话,你想实现的是使用一个软件定时器,以便在设备处于延长睡眠模式时定期唤醒?请检查应用程序\u easy\u timer()。否则,请澄清你的问题。
谢谢,下午好
您好,您完全理解我的问题,但为了清楚地了解app\u easy\u timer()的工作情况,我需要检查任何示例,但在SDK中我没有看到app\u easy\u timer()从外部睡眠模式唤醒的示例。有吗?
你好,李亚德诺夫,
使用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定义新的计时器处理程序:
2从用户\u app \u adv \u undirect \u complete()中注释掉app \u button \u enable(),并设置计时器:
三。将WAKEUP\u定义为ble\u app\u sleepmode.h头文件
4当它过期时,将触发唤醒计时器\u cb()。设备将苏醒并再次开始广告
5停止定时器启动连接。
如果您按照上述步骤操作,系统将播发APP\u ADV\u DATA\u UPDATE\u TO seconds。然后它将进入睡眠模式,并在唤醒到秒后唤醒。如果您觉得这些步骤有用,请将票标为“已接受”。
谢谢,下午好