hii ......
在内核计时器中我有一些疑问
1.如果我尝试使用此内核计时器实现挂墙时钟,24小时内发生多少时间漂移?
2.您可以提供如何使用此内核定时器的示例或文档(设置,处理。等)?
3.在我的申请中,我希望每6小时的距离中的距离。我想如果我使用这个内核计时器(最大延迟5分钟)并在5分钟内唤醒
跟踪6小时(对于下一个信标)。有可能实现这个吗?
4.如果内核定时器在5分钟内触发,则会发生电流消耗多少(每5个都没有广告或扫描才会发生火灾
分钟和返回睡眠)(我想从BLE_APP_ABREBONE榜样开始,以实现这个功能)?
关键词:
设备:
嗨alan.a,
您可以将计时器设置为ke_timer_delay_max(5秒),如果设置上面的值,则堆栈将使Sanity检查且您将收到错误。在您的情况下,我建议您使用最大延迟的计时器并重新启动时间,直到达到所需的时间。但这将有点不准确,因为app_easy_timer计算低功率时钟。app_timer_set()是ke_timer_set()的包装器。计时器ID,任务ID和以10 ms为单位的超时。最大有效超时为30000,对应于5分钟的时间。我非常建议你看看app_easy_timer.h标题文件。此外,在使用内核定时器时,它们可以计数的最长时间也是ke_timer_delay_max,这意味着大约5分钟。关于文件,我会建议你读的UM-B-050:DA1458X软件开发人员指南(SDK5)和UM-B-051:DA14580软件平台参考(SDK5)来自我们支持门户的用户Manulas。当设备不在扩展或深度睡眠模式时,没有任何BLE活动,我可以测量约0.490 mA,但功率丰收取决于您的应用程序以及您想要实现计时器的内容。
谢谢,PM_DIALOG.
hii ...
感谢您的回复。
我从上面了解: - Kernal Timer是比普通计时器的准确性吗?
如果我使用此内核计时器实现了RTC时钟,24小时内有多少漂移?
在我的申请中,我只需要在6小时内宣传一次,即在一天内,只有我广告剩余时间,没有活动,所以我想减少电流。这里的RTC时钟我用于轨道6小时。我认为如果我创建了最大延迟的内核定时器射击,即大约5分钟,在每5分钟的定时器火灾中,从睡眠和更新变量唤醒(跟踪RTC时间)并返回睡眠(延长睡眠)
我觉得这个申请不可能深入睡眠是对的吗?
嗨alan.a,
DA14580不支持RTC实现。内核定时器和App_easy_Timer都具有最大延迟,最多可达5秒。。我不确定你想要实施什么,能否澄清它?您是否意识到深度睡眠功能?如果没有,请告诉我。
谢谢,PM_DIALOG.
hii ...
Yaa我需要实施深睡眠,因为我想减少当前的消耗,也想追踪时间。如果没有活动,DA14580会睡觉,但是小时必须跟踪。
我的申请工作基于小时。例如,每6小时间隔BLE信标出现并返回深度睡眠(即,第一个信标在下午8点发生在8.00下午14.00 PM)之间,在此信标不发生任何活动之间,所以我希望DA14580进入深度睡眠以节省电流和计时器需要追踪下一个信标的时间是我的应用程序
嗨alan.a,
如果我能够正确理解,你会燃烧OTP内存吗?在深度睡眠模式下,42KB片上系统RAM和可能的8KB片上保留RAM的一部分被关闭。当DA14580唤醒时,必须将OTP内容复制到片上RAM。复制OTP是耗时和功耗。在扩展睡眠模式下,数据存储在开船RAM中并保留。当DA14580醒来时,不需要OTP复制。请检查“低功耗模式对用户申请更有效?”从常见问题解答页面:
https://support.dialog-seminile.com/guide/faq-da1458x-power-consumption.
请注意,OTP代表一个时间可编程,因此您无法多次擦除并重新编写OTP,但您只能将仍设置为0的位,然后将其转换为1. BLE_APP_SLEEPMODE实现深度睡眠模式但在开发模式。请检查cfg_development_debug定义和定义的注释。
谢谢,PM_DIALOG.