linux下一个定时器的使用方法
来源:互联网 发布:中国援助朝鲜 知乎 编辑:程序博客网 时间:2024/06/05 22:34
这是linux下一个精确定时器的使用方法
#define READ_INTERVAL 40*1000000
static int timer_init()
{
int ret;
struct sigevent sev;
struct itimerspec its;
sev.sigev_notify = SIGEV_THREAD;
sev.sigev_notify_function = timer_func;
sev.sigev_notify_attributes = NULL;
ret = timer_create(CLOCK_REALTIME, &sev, &timerid);
if (ret != 0) {
ALOGE("%s: timer_create error!\n", __func__);
return -1;
}
its.it_value.tv_sec = READ_INTERVAL / 1000000000; /* 注意这里的编程思想:
这样写如果要修改时间的只要修改宏 定 义
its.it_value.tv_nsec = READ_INTERVAL % 1000000000; 的值就可以了 READ_INTERVAL代表的是纳秒的值
its.it_interval.tv_sec = its.it_value.tv_sec; 用itimerspec来定时更加精确。
its.it_interval.tv_nsec = its.it_value.tv_nsec; */
ret = timer_settime(timerid, 0, &its, NULL);
if (ret != 0) {
ALOGE("%s: timer_settime error!\n", __func__);
return -1;
}
return 0;
}
#define READ_INTERVAL 40*1000000
static int timer_init()
{
int ret;
struct sigevent sev;
struct itimerspec its;
sev.sigev_notify = SIGEV_THREAD;
sev.sigev_notify_function = timer_func;
sev.sigev_notify_attributes = NULL;
ret = timer_create(CLOCK_REALTIME, &sev, &timerid);
if (ret != 0) {
ALOGE("%s: timer_create error!\n", __func__);
return -1;
}
its.it_value.tv_sec = READ_INTERVAL / 1000000000; /* 注意这里的编程思想:
这样写如果要修改时间的只要修改宏 定 义
its.it_value.tv_nsec = READ_INTERVAL % 1000000000; 的值就可以了 READ_INTERVAL代表的是纳秒的值
its.it_interval.tv_sec = its.it_value.tv_sec; 用itimerspec来定时更加精确。
its.it_interval.tv_nsec = its.it_value.tv_nsec; */
ret = timer_settime(timerid, 0, &its, NULL);
if (ret != 0) {
ALOGE("%s: timer_settime error!\n", __func__);
return -1;
}
return 0;
}
0 0
- linux下一个定时器的使用方法
- 定时器的使用方法
- java的定时器使用方法
- java的定时器使用方法
- java的定时器使用方法
- stm32的定时器使用方法
- java的定时器使用方法 .
- java的定时器使用方法
- CD4541B定时器的使用方法
- 定时器的使用方法
- 定时器的使用方法
- 定时器的使用方法
- Linux 内核定时器及使用方法
- Linux 内核定时器及使用方法
- va_list 传递函数变参到下一个函数的使用方法:
- STM32F429的定时器的使用方法
- QT中定时器的使用方法
- QT中定时器的使用方法
- python实现Stack和Queue
- Java多线程编程总结
- hdoj 1870 愚人节的礼物 【简单的栈应用】
- MyEclipse为选定语句快速添加大括号
- HDU 1698-Just a Hook(线段树 成段更新)
- linux下一个定时器的使用方法
- 类的 非主动使用不会触发类的初始化操作
- 手势在ViewPager上的应用:OnFling MotionEvent e1 == null 的问题解决
- js动态生成form
- hdu 4812 D Tree 树的点分治
- 最大的子序列和问题
- C语言合法标识符(2024)
- 自定义PHP页面跳转函数redirect($url, $time = 0, $msg = '')
- 常用RGB颜色表