hii ......
在内核计时器中我有一些疑问
1.如果我尝试使用这个内核计时器实现一个挂钟,在24小时内会发生多少时间漂移?
2.您可以提供如何使用此内核定时器的示例或文档(设置,处理。等)?
3.在我的申请我想要BLE信标在每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小时intervel ble信标和深度睡眠(即第一个信标发生在上午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.