#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/select.h>
#include <sys/time.h>
#include <errno.h>
int main(void)
{
int buttons_fd;
char buttons[6]={'0','0','0','0','0','0'};
buttons_fd=open("/dev/buttons",0);
if(buttons_fd<0)
{
perror("open device buttons");
exit(1);
}
for (; ;)
{
char current_buttons[6];
int count_of_changed_key;
int i;
if(read(buttons_fd,current_buttons,sizeof current_buttons)!=sizeof current_buttons)
{
perror("read buttons:");
exit(1);
}
for(i=0,count_of_changed_key=0;i<sizeof buttons/sizeof buttons[0];i++)
{
if(buttons[i]!=current_buttons[i])
{
buttons[i] = current_buttons[i];
printf("%skey%dis%s", count_of_changed_key?",":"",i+1,buttons[i]=='0'?"up":"down");
count_of_changed_key++;
}
if(count_of_changed_key)
{
printf("\n");
}
}
}
close(buttons_fd);
return 0;
}
mini2440 button 测试
最新推荐文章于 2020-03-21 19:08:46 发布