在一篇文章中,它提到:请注意,ke_timer_set不能从睡眠模式唤醒DA14580:只能使用app_timer_set。我检查了app_easy_timer的代码,它看起来像使用ke_timer_set,所以它不能用来唤醒?app_timer_set和ke_timer_set之间有什么区别?彼得
请帮助
嗨achao1104,
这两个函数之间似乎没有本质的区别,我能看到的唯一区别是app_timer_set确保延迟时间小于KE_TIMER_DELAY_MAX。你能不能指出这篇文章提到你不应该使用ke_timer_set来唤醒。
谢谢mt_dialog.
谢谢,我也有同样的想法,让我找出帖子。
http://support.dialog-semiconductor.com/ketimerset-not-work
我认为这篇文章指出,出于安全考虑,您不应该使用ke_timer_set,以免超过计时器的最大时间限制。
嗨,对话框当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这样的函数?我应该把函数放在处理程序中吗?谢谢。
嗨,梁云浩,
是的计时器仍然工作在设备延长睡眠,对于你的经历我想什么你看到的是设备的定期醒来,设备配置为每10秒醒来如果没有祝福活动(内核计时器被认为也祝福活动)。所以,设备每10秒醒来一次,什么也不做,然后回到睡眠状态,直到你的计时器结束。
app_easy_timer()是在SDK5中使用ke_timers的合适函数,app_timer_set只是以前SDKs中的一个旧api,对话框提供的大多数SIG配置文件仍然使用这个api来设置计时器,为了使用app_timer_set,你可以看看BAS配置文件,它实现了这个api来更新客户端上的值,尽管我没有看到使用那个api的任何理由。
嗨,对话框在我的定制版中,它并没有在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或者我在上面的步骤中做了一些错误的事情时,我还应该做什么?到期后我需要取消吗?谢谢。
您使用的LP时钟是什么,是XTAL32还是RCX ?
您正在遵循的步骤是适当的,而且没有,您不必取消计时器时,它已经过,通过复制您的配置我无法复制您正在使用XTAL所经历的。尝试在基本示例中执行相同的配置,只需从user_app_adv_undirect_complete()中删除app_easy_timer(),并将其替换为一个计时器,该计时器将计算到广告函数。也许设备是被外部中断或其他东西唤醒的。
如果你正在使用RCX,你看到设备正在醒来和回到睡眠,这是一个已知的问题,请看看下面的线程,并检查最后一篇文章的代码片段。
https://support.dialog-semicondiondiondum/forums/post/dialog-smartbond-bl ...
请帮助
嗨achao1104,
这两个函数之间似乎没有本质的区别,我能看到的唯一区别是app_timer_set确保延迟时间小于KE_TIMER_DELAY_MAX。你能不能指出这篇文章提到你不应该使用ke_timer_set来唤醒。
谢谢mt_dialog.
谢谢,我也有同样的想法,让我找出帖子。
http://support.dialog-semiconductor.com/ketimerset-not-work
嗨achao1104,
我认为这篇文章指出,出于安全考虑,您不应该使用ke_timer_set,以免超过计时器的最大时间限制。
谢谢mt_dialog.
嗨,对话框
当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这样的函数?我应该把函数放在处理程序中吗?谢谢。
嗨,梁云浩,
是的计时器仍然工作在设备延长睡眠,对于你的经历我想什么你看到的是设备的定期醒来,设备配置为每10秒醒来如果没有祝福活动(内核计时器被认为也祝福活动)。所以,设备每10秒醒来一次,什么也不做,然后回到睡眠状态,直到你的计时器结束。
app_easy_timer()是在SDK5中使用ke_timers的合适函数,app_timer_set只是以前SDKs中的一个旧api,对话框提供的大多数SIG配置文件仍然使用这个api来设置计时器,为了使用app_timer_set,你可以看看BAS配置文件,它实现了这个api来更新客户端上的值,尽管我没有看到使用那个api的任何理由。
谢谢mt_dialog.
嗨,对话框
在我的定制版中,它并没有在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或者我在上面的步骤中做了一些错误的事情时,我还应该做什么?到期后我需要取消吗?谢谢。
嗨,梁云浩,
您使用的LP时钟是什么,是XTAL32还是RCX ?
您正在遵循的步骤是适当的,而且没有,您不必取消计时器时,它已经过,通过复制您的配置我无法复制您正在使用XTAL所经历的。尝试在基本示例中执行相同的配置,只需从user_app_adv_undirect_complete()中删除app_easy_timer(),并将其替换为一个计时器,该计时器将计算到广告函数。也许设备是被外部中断或其他东西唤醒的。
如果你正在使用RCX,你看到设备正在醒来和回到睡眠,这是一个已知的问题,请看看下面的线程,并检查最后一篇文章的代码片段。
https://support.dialog-semicondiondiondum/forums/post/dialog-smartbond-bl ...
谢谢mt_dialog.