C语言 timer demo
时间: 2024-08-13 14:05:56 浏览: 61
C语言02-Timer0-Timer1-Timer2-Timer3-Timer4测试程序(STC32G-DEMO-CODE-22
在C语言中,没有内置的定时器功能,但你可以使用系统调用或者第三方库来实现计时功能。以下是一个简单的基于`<time.h>`库的定时器示例,它使用了`sleep()`函数来模拟定时器行为:
```c
#include <stdio.h>
#include <unistd.h> // 包含sleep函数
// 定义一个定时器函数,这里我们简单地打印一条消息
void timer_callback() {
printf("Timer event occurred.\n");
}
int main() {
// 设置定时器,比如每5秒执行一次回调
unsigned long seconds_to_wait = 5;
struct timespec delay = {0, 0}; // 结构体表示时间间隔
delay.tv_sec = seconds_to_wait; // 秒数部分
// 使用nanosleep函数等待指定的时间
clock_nanosleep(CLOCK_MONOTONIC, TIMER_ABSTIME, &delay, NULL);
// 在这里添加你想要执行的代码,因为每次调用后,都会执行timer_callback()
// 为了演示,我们先暂停程序运行一段时间
sleep(1);
return 0;
}
阅读全文