systimer.c

来自「周立功magic2200实验箱linux增补例子。包括(GPIO zlg7290」· C语言 代码 · 共 61 行

C
61
字号
#include "config.h"#include <stdio.h>#include <signal.h>#include <sys/time.h>#define BEEP  7uint8 ledcon = 0;/* signal process */void led_info(int signo){    int fd;    printf("timeout!\n");    ledcon = ~ledcon;    fd = open("/dev/P0", O_RDONLY);    if(fd == -1)    {        printf("\nCan't open P0!\n");        exit(-1);    }    ioctl(fd, GPIO_SET_PIN_OUT, BEEP);    if (ledcon)   ioctl(fd, GPIO_SET_PIN, BEEP);    else ioctl(fd, GPIO_CLR_PIN, BEEP);    close(fd);}/* init sigaction */void init_sigaction(void){    struct sigaction act;    act.sa_handler = led_info;    act.sa_flags   = 0;    sigemptyset(&act.sa_mask);    sigaction(SIGPROF, &act, NULL);} /* init */void init_time(void){    struct itimerval val;    val.it_value.tv_sec = 1;    val.it_value.tv_usec = 0;    val.it_interval = val.it_value;    setitimer(ITIMER_PROF, &val, NULL);}int main(void){    init_sigaction();    init_time();    while(1);    exit(0);}

⌨️ 快捷键说明

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