如何创建低影响计时器
How to create a low impact timer
我想创建一个计时器,以便在嵌入式系统上运行,同时尽可能减少影响。我可以选择在 C、C++、bash 或 python 中实现计时器。计时器中的错误可以是 +/- 几秒钟。
我很想使用"sleep()"命令和"&"在后台启动它,从而在 bash 脚本中创建一个循环。但是,我很担心/不太明白如果以这种方式实施,这是否会使系统保持活动/唤醒。
如果它使系统保持活动/唤醒状态,是否可以创建一个不使用 C、C++、python 或其他方式使用 bash 脚本执行此操作的计时器?
如果您担心嵌入式系统中的系统资源或功耗问题,则绝对应该使用RTC来实现定时器。
请参考 http://linux.die.net/man/4/rtc
并且,检查您正在使用的操作系统的用户手册。也许存在一些函数可以调用。
没有必要重新发明与计时器相关的功能。
您可以通过多种不同的方式执行计时器。
最简单的就是这样
date "+%s"
打印出系统的时间戳。 如果系统时钟足够,则获得两个时间戳,一个在开始,第二个在结束时,您可以通过查找这两个时间戳的差异来找到经过的时间。
在每种语言上都有等效的方法可以做到这一点,C,C++,Python等。
如果你正在安排一个结束的过程,你可以做一些类似的事情
TIC=$(date "+%s")
./some-script
TOC=$(date "+%s")
DELTA=$((TOC - TIC))
echo $DELTA
或者用Python。
无论如何,我不认为你的睡眠想法是最好的方法。
相关文章:
- Linux的Cpp上的计时器
- 提升 ASIO 无法识别计时器对象
- 提升 asio 并发计时器取消问题与链
- 使用单体计时器的pthread_cond_timedwait有时会比预期晚超时
- 窗口中的微秒计时器
- 计时器是否从另一个线程启动?
- 如何在 c++ 中创建计时器
- C++回调计时器实现
- 在计时器或主线程外部的命令上销毁/替换线程
- 如何制作每秒从 30 乘 1 倒计时的计时器?
- 保留计时器集合(对象与指针)的最佳方法
- 在网络套接字计时器滴答后增加asio短读错误
- 是否可以仅使用标准 c++/c++11 实现不带"sleep"的计时器?
- 在没有NtSetTimerResolution的Windows上提高计时器分辨率(高分辨率)
- 计时器坏了或者其他什么的
- 功能计时器阻止主功能继续
- IO服务重新启动后,Boost最后期限计时器持续触发
- boost asio计时器是否会在"取消"时阻塞
- Poco 计时器,具有来自同一类的回调
- 如何创建低影响计时器