我的应用在概念上需要有效的单次触发、但我还需要让计时器在中断期间继续运行、以便我可以测量单次触发后的时间、直到满足我的条件。
在阅读文档时、我显然需要将计时器置于周期模式、以便它继续运行。 然后、我可以读取计时器值来测量第二个条件的时序。
我的问题是、我似乎无法重置计时器并在第二次出现时再次从零开始计时。 计时器第一次运行完美、但后续事件看起来是随机的、就像周期计时器在不重新启动的情况下保持运行一样。 我使用逻辑分析仪来查看内部和外部事件的相对计时。
在我的代码中,我在完成计时器后调用 TimerDisable()和 TimerIntClear ()。
然后,当我想要下一个“一次性”时,我调用 TimerIntClear ()、TimerLoadSet ()、TimerEnable()和 TimerIntEnable()。
我将计时器设置为_periodical_up 模式、我有一点怀疑不支持该模式。
我的问题有两个方面:
a)当我完成"单次触发"时、我该如何处理周期计时器以强制它停止、尤其是当我想重复该过程时、如何强制它从零开始再次计数?
b)对于我来说、使用_periode_up 来测量达到计时器计数后的时间量是最有意义的、但是如果不支持或不正确、那么我应该使用哪种算法?