举一个定时器中断的示例
时间: 2023-10-26 18:44:38 浏览: 44
在C语言中,可以使用定时器中断来实现定时功能。下面是一个简单的定时器中断的示例代码:
```c
#include <stdio.h>
#include <signal.h>
#include <unistd.h>
// 定时器中断处理函数
void timer_handler(int signum) {
printf("Timer interrupt occurred.\n");
}
int main() {
// 设置定时器中断处理函数
signal(SIGALRM, timer_handler);
// 设置定时器,每隔1秒发送SIGALRM信号
alarm(1);
// 死循环,等待定时器中断
while (1) {
sleep(1);
}
return 0;
}
```
在上述示例中,首先定义了一个名为`timer_handler`的函数作为定时器中断的处理函数。然后,在`main`函数中使用`signal`函数将`SIGALRM`信号与`timer_handler`函数绑定起来。接下来,使用`alarm`函数设置定时器,每隔1秒钟发送一个`SIGALRM`信号。最后,进入一个死循环,不断调用`sleep`函数使程序暂停1秒钟,等待定时器中断发生。
当定时器中断发生时,会调用`timer_handler`函数,并在控制台输出"Timer interrupt occurred."的提示信息。
需要注意的是,上述代码只是一个简单的示例,实际应用中可能需要根据具体需求进行相应的修改和扩展。