求助:嵌入式读usb键盘
我需要从开发板上的usb键盘读数据,于是写了一个带scanf函数的程序,下到开发板上运行但是只能读取pc机上超级终端的数据。然后我用开发板上QT自带的终端运行,就可以读键盘上的程序。因为这个程序需要自动运行,设置好后,开机后只能读pc机上的超级终端数据,而经验证,该程序开机后在运行。后来我怀疑是QT的问题,在开机自动运行中把qt注释掉后,还是不能读键盘。哪位高手帮忙解决一下,不胜感激。
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <linux/input.h>
int main()
{
char s[20];
int fd;
fd=open("dev/tty1",O_RDWR);
if (fd < 0)
{
perror("can not open device usbkeyboard!");
exit(1);
}
scanf("%s",s);
printf("%s",s);
return 0;
}
上面这个就只能读超级终端的数据。
然后我听别人建议换了一种读的方式
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <linux/input.h>
struct input_event buff;
int fd;
char s[5];
int main(int argc, char *argv[])
{
fd = open("dev/tty0", O_RDONLY);
if (fd < 0)
{
perror("can not open device usbkeyboard!");
exit(1);
}
while(1)
{
read(fd,&buff,sizeof(struct input_event));
printf("type:%d code:%d value:%d\n",buff.type,buff.code,buff.value);
}
close(fd);
return 0;
}
结果读出来的东西都是乱码。
请各位大神们指点下。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论