在 C 中有一个特定时间量的函数 运行
Have a function run for a specific amount of time in C
我需要能够 运行 一段代码 x 秒然后停止。像
while(timeElapsed < setTime){
do whatever
}
如果有人好奇,我们在这里尝试做的是让程序通过 modbus 轮询一个指标一定秒数,由 user.So 我有一个输入字段对于用户设置轮询功能的时间应该是 运行 循环。顺便说一下,这将在 raspberry pi 上完成。
一种方法是包含 time.h header 并使用 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);
}
}
我需要能够 运行 一段代码 x 秒然后停止。像
while(timeElapsed < setTime){
do whatever
}
如果有人好奇,我们在这里尝试做的是让程序通过 modbus 轮询一个指标一定秒数,由 user.So 我有一个输入字段对于用户设置轮询功能的时间应该是 运行 循环。顺便说一下,这将在 raspberry pi 上完成。
一种方法是包含 time.h header 并使用 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);
}
}