这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » 利用POSIX定时器定期产生信号驱动回调函数

共4条 1/1 1 跳转至

利用POSIX定时器定期产生信号驱动回调函数

菜鸟
2019-08-31 19:51:47     打赏
#include <signal.h>#include <time.h>#include <stdio.h>#include <string.h>#include <unistd.h>#include <signal.h>#include <sys/types.h>#include <sys/time.h>


void m_sa_sigaction(int i, siginfo_t *siginfo, void * v){配资平台  printf("do something @ here\n");}int main(int argc, char *argv[]){配资平台  clockid_t clockid = CLOCK_MONOTONIC;  int signum = SIGUSR1;  struct sigevent sevp = {    .sigev_notIFy = SIGEV_SIGNAL, /* Notification method */ /*Notify the process by sending the signal specified in sigev_signo.*/    .sigev_signo = signum,  /* Notification signal */    .sigev_value.sival_int = 0,  /* Data passed with                                  notification */炒股配资  };  timer_t timerid;  struct itimerspec new_value = {    .it_interval = {          .tv_sec = 1,          .tv_nsec = 0,        },                /* Timer interval */    .it_value = {          .tv_sec = 0,          .tv_nsec = 1,        },               /* Initial expiration */  };


  struct sigaction act = {    .sa_sigaction = m_sa_sigaction,    .sa_flags = SA_SIGINFO,股票配资  };  sigemptyset(&act.sa_mask);


  if(sigaction(signum, &act, NULL) == -1){        perror("sigaction");  }  if(timer_create(clockid, &sevp, &timerid) == -1){        perror("timer_create\n");爱情说说  }  if(timer_settime(timerid, 0, &new_value, NULL) == -1){        perror("timer_settime\n");  }


  while(1)  {www.dnshost.com.cn          sleep(1);          fprintf(stderr, "#");  }}




工程师
2019-08-31 23:12:58     打赏
2楼

有点乱


高工
2019-09-16 23:20:00     打赏
3楼

排下版就很不错了


工程师
2019-09-17 16:22:22     打赏
4楼

谢谢楼主分享   


共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]