App_easy_timer可以用来从深度睡眠模式唤醒da ?

10个帖子/ 0新
最后发表
achao1104
离线
最后看到:5年3个月前
掌握
加入:2015-12-24 10:56
App_easy_timer可以用来从深度睡眠模式唤醒da ?

在一篇文章中,它提到:
请注意,ke_timer_set不能从睡眠模式唤醒DA14580:只能使用app_timer_set。
我检查了app_easy_timer的代码,它看起来像使用ke_timer_set,所以它不能用来唤醒?app_timer_set和ke_timer_set之间有什么区别?
彼得

设备:
achao1104
离线
最后看到:5年3个月前
掌握
加入:2015-12-24 10:56
请帮助

请帮助

MT_dialog
离线
最后看到:2个月9小时前
工作人员
加入:2015-06-08 34
嗨achao1104,

嗨achao1104,

这两个函数之间似乎没有本质的区别,我能看到的唯一区别是app_timer_set确保延迟时间小于KE_TIMER_DELAY_MAX。你能不能指出这篇文章提到你不应该使用ke_timer_set来唤醒。

谢谢mt_dialog.

achao1104
离线
最后看到:5年3个月前
掌握
加入:2015-12-24 10:56
谢谢,我也有一样的

谢谢,我也有同样的想法,让我找出帖子。

achao1104
离线
最后看到:5年3个月前
掌握
加入:2015-12-24 10:56
http://support.dialog.
MT_dialog
离线
最后看到:2个月9小时前
工作人员
加入:2015-06-08 34
嗨achao1104,

嗨achao1104,

我认为这篇文章指出,出于安全考虑,您不应该使用ke_timer_set,以免超过计时器的最大时间限制。

谢谢mt_dialog.

梁云浩
离线
最后看到:3年2个月前
加入:2016-03-05 38
嗨,对话框

嗨,对话框
当Da14580在扩展睡眠时,app_easy_timer仍然工作吗?我设置了一个app_easy_timer来定期从扩展睡眠中唤醒Da14580,然后发送一个广告包。当我设置延迟时间较小(5s或30s)时,它可以正常工作。但是当我设置延迟值如18000或24000(低于KE_TIMER_DELAY_MAX)时,有时它会在计时器过期之前突然醒来,什么也不做。我测量电流来检查Da14580是否处于延长睡眠状态。什么类型的定时器可以用于扩展睡眠,app_easy_timer或app_timer_set?
我如何使用app_timer_set在延迟过期后调用像app_easy_timer这样的函数?我应该把函数放在处理程序中吗?谢谢。

MT_dialog
离线
最后看到:2个月9小时前
工作人员
加入:2015-06-08 34
嗨,梁云浩,

嗨,梁云浩,

是的计时器仍然工作在设备延长睡眠,对于你的经历我想什么你看到的是设备的定期醒来,设备配置为每10秒醒来如果没有祝福活动(内核计时器被认为也祝福活动)。所以,设备每10秒醒来一次,什么也不做,然后回到睡眠状态,直到你的计时器结束。

app_easy_timer()是在SDK5中使用ke_timers的合适函数,app_timer_set只是以前SDKs中的一个旧api,对话框提供的大多数SIG配置文件仍然使用这个api来设置计时器,为了使用app_timer_set,你可以看看BAS配置文件,它实现了这个api来更新客户端上的值,尽管我没有看到使用那个api的任何理由。

谢谢mt_dialog.

梁云浩
离线
最后看到:3年2个月前
加入:2016-03-05 38
嗨,对话框

嗨,对话框
在我的定制版中,它并没有在10秒内醒来。有时它在进入延长睡眠后立即醒来。有时它工作很长一段时间,然后突然醒来。
这需要的时间是不可预测的。我已经将CFG_MAX_SLEEP_DURATION_EXTERNAL_WAKEUP_MS设置为300000,但仍然存在相同的问题。
在我的应用程序中,我使用两个内核计时器。一个设置为3秒并停止发布(app_easy_gap_advertise_stop)。当广告停止时,“user_app_adv_undirect_complete”回调函数将另一个定时器设置为一定时间(1分钟或更长时间),然后系统进入扩展睡眠。理论上,Da14580将在第二个计时器到期时苏醒,并继续上述步骤。当我设置app_easy_timer或者我在上面的步骤中做了一些错误的事情时,我还应该做什么?到期后我需要取消吗?谢谢。

MT_dialog
离线
最后看到:2个月9小时前
工作人员
加入:2015-06-08 34
嗨,梁云浩,

嗨,梁云浩,

您使用的LP时钟是什么,是XTAL32还是RCX ?

您正在遵循的步骤是适当的,而且没有,您不必取消计时器时,它已经过,通过复制您的配置我无法复制您正在使用XTAL所经历的。尝试在基本示例中执行相同的配置,只需从user_app_adv_undirect_complete()中删除app_easy_timer(),并将其替换为一个计时器,该计时器将计算到广告函数。也许设备是被外部中断或其他东西唤醒的。

如果你正在使用RCX,你看到设备正在醒来和回到睡眠,这是一个已知的问题,请看看下面的线程,并检查最后一篇文章的代码片段。

https://support.dialog-semicondiondiondum/forums/post/dialog-smartbond-bl ...

谢谢mt_dialog.