我想创建一个在嵌入式系统上运行的计时器,其影响尽可能小。我可以选择用C,C ++,bash或python实现计时器。计时器中的错误可能是+/-几秒钟。
我很想尝试使用'sleep()'命令和'&'在bash脚本中创建一个循环在后台启动它。但是我担心/不太明白,如果以这种方式实现,这是否会使系统保持活动/清醒。
如果它保持系统处于活动状态/唤醒状态,是否可以使用C,C ++,python或者使用bash脚本的其他方式创建一个不执行此操作的计时器?
答案 0 :(得分:1)
您可以通过多种不同方式进行计时器。
最简单的就是
date "+%s"
打印出系统的时间戳。如果系统时钟足够,那么获得两个时间戳,一个在开始时,第二个在结尾,你可以通过找到这两个时间戳的差异来找到经过的时间。
在每种语言(C,C ++,Python等)上都有相同的方法可以做到这一点。
如果您计划结束的过程,您可以执行类似
的操作TIC=$(date "+%s")
./some-script
TOC=$(date "+%s")
DELTA=$((TOC - TIC))
echo $DELTA
无论如何,我不认为你的睡眠想法是最好的方法。
答案 1 :(得分:1)
如果您担心嵌入式系统中的系统资源或功耗问题,您一定要使用RTC来实现计时器。
请参阅http://linux.die.net/man/4/rtc
然后,查看您正在使用的操作系统的用户手册。也许存在一些可以调用的函数。
没有必要重新发明与计时器相关的功能。