让函数在C中运行特定的时间[关闭]

问题描述 投票:0回答:1

我需要能够运行一段代码x秒,然后停止。就像是

while(timeElapsed < setTime){
     do whatever
}

如果有人好奇,我们在这里尝试做的是让程序通过modbus轮询指示器一段时间,由用户设置。所以我有一个输入字段供用户设置时间轮询功能应该循环运行。顺便说一句,这将在覆盆子pi上完成。

c time raspberry-pi modbus
1个回答
3
投票

一种方法是包含time.h头文件并使用difftime函数。它将被实施以检查消失的时间是否达到设定的时间。

例:

#include <time.h>

void func(float delayInSeconds) {
    time_t startTime;
    time_t now;
    float elapsedTime;
    float setTime = delayInSeconds;

    time(&startTime);
    while (elapsedTime < setTime) {
        //do something...

        now = time(NULL);
        elapsedTime = difftime(now, startTime);
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.