Timer 如何在linux应用层使用定时器
我正试图在Linux上用C编写一个简单的应用程序。当按下一个按钮时,电机启动,20秒后,它会被计时器停止。显然,我不需要一个重复计时器,一个一次性计时器可以完成这项工作 我需要知道的是,我可以使用哪个计时器api设置超时,并在计时器过期时触发我的函数 非常感谢。我终于明白了。 对于我的情况,如果足够的话,使用报警。基本上,您需要定义StartMotor()和stopMotor()函数,并将stopMotor函数附加到信号(SIGALRM,StopMotot)Timer 如何在linux应用层使用定时器,timer,Timer,我正试图在Linux上用C编写一个简单的应用程序。当按下一个按钮时,电机启动,20秒后,它会被计时器停止。显然,我不需要一个重复计时器,一个一次性计时器可以完成这项工作 我需要知道的是,我可以使用哪个计时器api设置超时,并在计时器过期时触发我的函数 非常感谢。我终于明白了。 对于我的情况,如果足够的话,使用报警。基本上,您需要定义StartMotor()和stopMotor()函数,并将stopMotor函数附加到信号(SIGALRM,StopMotot) 您已经解释了您想要什么,但用户不会为
您已经解释了您想要什么,但用户不会为您编写大量代码。你应该自己尝试,当你有具体问题时再回来。
RUN_DURATION 30 // 30 seconds
static bool MotorStarted = false;
static void StopMotor(int sig);
void main(void){
while(1)
{
if (IsPBPressed( )) //polling status of push button.
{
if(!MotorStarted) //if motor is running, preceed startmotor,
{ // otherwise, ignore this subsequent request.
MotorStarted = true;
startMotor()
signal(SIGALRM, StopMotor);// start a timer. motor stop when the timer expires.
alarm(RUN_DURATION);
}
}
} //IsPBPressed( )
}