user_alarm.c

来自「xenomai 很好的linux实时补丁」· C语言 代码 · 共 62 行

C
62
字号
#include <native/task.h>#include <native/alarm.h>#define TASK_PRIO  99 /* Highest RT priority */#define TASK_MODE  0  /* No flags */#define TASK_STKSZ 0  /* Stack size (use default one) */#define ALARM_VALUE    500000	/* First shot at now + 500 us */#define ALARM_INTERVAL 250000	/* Period is 250 us */RT_ALARM alarm_desc;RT_TASK server_desc;void alarm_server (void *cookie){    for (;;) {       /* Wait for the next alarm to trigger. */       err = rt_alarm_wait(&alarm_desc);       if (!err) {           /* Process the alarm shot. */       }    }}int main (int argc, char *argv[]){    int err;    mlockall(MCL_CURRENT|MCL_FUTURE);    /* ... */    err = rt_alarm_create(&alarm_desc,"MyAlarm");    err = rt_alarm_start(&alarm_desc,			 ALARM_VALUE,			 ALARM_INTERVAL);    /* ... */    err = rt_task_create(&server_desc,			 "MyAlarmServer",			 TASK_STKSZ,			 TASK_PRIO,			 TASK_MODE);    if (!err)	rt_task_start(&server_desc,&alarm_server,NULL);    /* ... */}void cleanup (void){    rt_alarm_delete(&alarm_desc);    rt_task_delete(&server_desc);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?