我正在开发一些需要在时间同步的节点.Node必须睡眠以保存电力。我使用内核定时器唤醒,所以我在唤醒围栏中使用了Systick来克服10ms下的时间,因为app_timer_set接受时间乘以10ms。我已经阅读了一个帖子,内核定时器的准确性-20ms至0,这与我令人困惑。有人可以解释一下更多的准确性吗?当内部RCX20时钟在睡眠中时,是准确性的影响吗?定时器准确性非常重要。我希望计时器精确地唤醒10 * n ms。谢谢你
嗨Tengworld,
定时器的准确性为10ms,可以在两种情况下观察到内核定时器的不准确性:
- 当计时器由异步事件设置时(按钮等的)并且超时是t,定时器的到期可能在T-10ms的范围内发生。
- 当另一个定时器到期时,定时器可能会过期一次(10ms)在此刻度上到期,这意味着您有两个计时器在40ms中到期,在110中另一个计时器。当第一个两个序列中的时间经过时,定时器40ms将正常出现。当第二个计时器过去的时间开始,第一个将在30毫秒中经过第一个。
谢谢mt_dialog.
我得到它,非常感谢你。另一个问题,使用外部XTAL32辅电器,而不是内部RCX20时钟有助于提高由晶体精度引起的内核定时器精度?例如,当DA运行长时间时,多个DA14580可能会丢失晶体精度的SYC。
不,即使使用外部XTAL32,您也无法提高内核定时器的准确性。
嗨Tengworld,
定时器的准确性为10ms,可以在两种情况下观察到内核定时器的不准确性:
- 当计时器由异步事件设置时(按钮等的)并且超时是t,定时器的到期可能在T-10ms的范围内发生。
- 当另一个定时器到期时,定时器可能会过期一次(10ms)在此刻度上到期,这意味着您有两个计时器在40ms中到期,在110中另一个计时器。当第一个两个序列中的时间经过时,定时器40ms将正常出现。当第二个计时器过去的时间开始,第一个将在30毫秒中经过第一个。
谢谢mt_dialog.
我得到它,非常感谢你。
另一个问题,使用外部XTAL32辅电器,而不是内部RCX20时钟有助于提高由晶体精度引起的内核定时器精度?例如,当DA运行长时间时,多个DA14580可能会丢失晶体精度的SYC。
嗨Tengworld,
不,即使使用外部XTAL32,您也无法提高内核定时器的准确性。
谢谢mt_dialog.