我想做个像
int prev = 0;
int delay = 1500;
void loop(){
int now = micros();
if(now - prev > delay){
//
}
}
那是针对Arduino的。
我如何在C中使用clock_gettime(CLOCK_REALTIME, &gettime_now);
就像上面的arduino代码中的micros()
一样工作?在Raspberry pi中
答案 0 :(得分:1)
我不会真正在C程序中使用繁忙的轮询时钟,而是系统调用。它适用于µController,但不适用于OS。您可以只使用usleep。
无论如何clock_gettime timespec如此做,请仔细进行计算(注意不要溢出多头)。 (long)(now.tv_sec-prev.tv_sec)* 1000 * 1000 +(now.tv_nsec-prev.tv_nsec)/ 1000
P.S。 您不应该在代码中初始化prev吗?