[問題] Linux c/c++ timer計時問題
程式碼如下..
void Sigtest(int sig)
{
static int a=0;
static int switcha=0;
a++;
switcha=dm355_gio_read( BUTTON_TP_GPIO );
if(switcha==0)
{
dm355_gio_write( GPIO_LED_EN ,a&0x01);
}
}
void *Timerkeythread(void *arg)
{
printf("TestTimer start");
signal(SIGALRM,Sigtest);
struct itimerval delay;
memset(&delay, 0, sizeof(delay));
delay.it_value.tv_sec=1;
delay.it_value.tv_usec=0;
delay.it_interval.tv_sec=0;
delay.it_interval.tv_usec=500000;
setitimer(ITIMER_REAL,&delay,NULL);
}
int main(int argc,char *argv[]) {
pthread_create(&timethread, NULL,Timerkeythread,&value);
pthread_join (timethread, NULL);
return 0;
}
產生一個thread進入Timerkeythread函式本例是
每0.5s計時一次,降的寫法有那裡有錯嗎?因為小弟
測試他只有一段時間可以過了那段時間他就不會計時了
大概30秒左右
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.37.164.6
推
03/22 19:30, , 1F
03/22 19:30, 1F
推
03/22 21:43, , 2F
03/22 21:43, 2F
推
03/22 21:46, , 3F
03/22 21:46, 3F
→
03/23 16:46, , 4F
03/23 16:46, 4F
→
03/23 16:50, , 5F
03/23 16:50, 5F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章