我使用这个计时器库:https://github.com/JChristensen/Timer/tree/v2.1
这是一个非常好的库,它运行完美并且使用起来相对简单。但我需要有一个计时器的剩余时间来显示它。
我感觉我错过了什么。
现在,我注意到: 持续时间、出发时间、时间 Arduino 和我进行数学计算。
最好的办法是恢复计时器的剩余时间。我认为这是可能的,但我不明白。你能帮我吗?
谢谢
最佳答案
查看该库的自述文件,我们可以看到这一切的基本工作方式。
The library does not interfere with the built-in timers, it just uses millis() in a basic type of scheduler to decide when something needs doing.
我不确定您对中断有多少经验,但是,重要的是要注意定时器中断有时可以“注册”,然后它们就会消失。根据更新调用,情况似乎并非如此,该库实际上只是根据 millis() 何时返回所需的时间增量来注册回调函数。
考虑到这一点,我对获取剩余时间的最佳建议是进行与图书馆相同的计算。基本上像平常一样使用该库,但在第一次使用该库时使用 millis() 并继续调用它来自己跟踪增量。
我能找到的唯一其他选项是在进行调用的 .cpp 中
_events[i].lastEventTime = millis();
但是我还没有找到它到底是如何工作的。
编辑: 就个人而言,我真的建议您了解硬件计时器的工作原理。它们将使您的项目运行更顺畅,不太可能崩溃,并且如果您有兴趣了解的话,它们更像是“现实世界”项目的完成方式。
关于c - Arduino定时器库和剩余时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33365306/