[Armadillo:06488] Re: Armadillo-420のSW1について。
TFC 小林
email@hidden
2011年 1月 7日 (金) 15:12:06 JST
お世話になります。小林です。
引き続き、Armadillo-420のSW1について教えてください。
下記、プログラムを作成したのですが、ボタンを押してもイベントが発生しないの
か、
「No Event」と、「Value = 00」が1秒ごとずっと表示され続けます。
Open時に、「|O_NONBLOCK」を指定しないと、
Readコマンドで止まってしまうのか、ボタンを押すたびに、
「On Event」と、「Value = 01」が表示されます。
希望としては、SW1の状態表示と、他の処理を行いたいのですが、
どのようにすればいいのか教えてください。
#define DEV_NAME_PSW1 "/dev/input/event0"
int fd,ret;
char val;
int data;
struct input_event event;
while(1){
data = 0;
fd = open(DEV_NAME_PSW1, O_RDONLY | O_NONBLOCK);
ret = read(fd, &event, sizeof(event));
if (ret != sizeof(event)) {
printf("No Event\n");
}else{
printf("On Event\n");
}
if ((event.type == EV_KEY) && (event.code == KEY_ENTER) && (event.value !=
0)){
data = 1;
}
close(fd);
// シリアル受信など、別処理を行う。
printf("Value = %02x\n", data);
sleep(1);
}
armadillo メーリングリストの案内