1. 程式人生 > >10.按鍵之互斥、阻塞機制(詳解)

10.按鍵之互斥、阻塞機制(詳解)

int main(int argc,char **argv)
{
  int oflag;
  unsigned int val=0;      
  fd=open("/dev/buttons",O_RDWR | O_NONBLOCK);   //使用非阻塞操作 
  if(fd<0)
       {printf("can't open, fd=%d\n",fd);
       return -1;}
  else
       {
       printf("can open,PID=%d\n",getpid());    //開啟成功,列印pid程序號
       }
while(1) { val
=read( fd, &ret, 1); //讀取驅動層資料 printf("key_vale=0X%x,retrun=%d\r\n",ret,val); sleep(3); //延時3S } return 0;
}