手机
当前位置:查字典教程网 >编程开发 >C语言 >c语言定时器示例分享
c语言定时器示例分享
摘要:在linux下开发,使用的是C语言。适用于需要定时的软件开发,以系统真实的时间来计算,它送出SIGALRM信号。每隔一秒定时一次c语言定时器...

在linux下开发,使用的是C语言。适用于需要定时的软件开发,以系统真实的时间来计算,它送出SIGALRM信号。每隔一秒定时一次

c语言定时器

复制代码 代码如下:

#include <sys/types.h>

#include <sys/stat.h>

#include <fcntl.h>

#include <termios.h>

#include <errno.h>

#include <ctype.h>

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <time.h>

#include <unistd.h>

#include "pthread.h"

#include <netinet/in.h>

#include <signal.h>

#include <sys/time.h>

struct StructOfTimerStatus

{

unsigned int count; //计数值

unsigned int flag; //定时标志

}

;

struct StructOfTimer

{

struct StructOfTimerStatus testtime; //测试定时器

}

mytime;

void SetTimer(int sec,int usec);

void SigalrmFunc(void);

//定时器函数

/*******************************************************************************

* Discription:SIGALRM 信号响应函数;用作定时器

* Input :

* Output :

*******************************************************************************/

void SigalrmFunc(void)

{

if(mytime.testtime.count++>20) //定时1秒,20*50000=1s

{

mytime.testtime.flag=1;

mytime.testtime.count=0;

}

}

void SetTimer(int sec,int usec)

{

struct itimerval value,ovalue;

signal(SIGALRM,(void *)SigalrmFunc);

value.it_value.tv_sec = sec;

value.it_value.tv_usec = usec;

value.it_interval.tv_sec = sec;

value.it_interval.tv_usec = usec;

setitimer(ITIMER_REAL,&value,&ovalue);

}

int main(int argc, char **argv)

{

SetTimer(0, 50000);

while(1)

{

if(mytime.testtime.flag == 1)

{

mytime.testtime.flag = 0;

system("clear");

printf("Timing successn");

}

}

return 0;

}

【c语言定时器示例分享】相关文章:

使用VC6.0对C语言程序进行调试的基本手段分享

c语言冒泡排序法代码

C++中返回指向函数的指针示例

C语言 解压华为固件的实例代码

c语言在控制台判定鼠标左键的小例子

C语言小程序 杨辉三角示例代码

c语言10个经典小程序

C语言小程序 数组操作示例代码

关于c语言指针的两处小tip分享

C语言可变参数函数详解示例

精品推荐
分类导航