在一篇文章中,它提到:请注意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只是来自以前sdk的一个旧api, dialog提供的大多数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只是来自以前sdk的一个旧api, dialog提供的大多数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.