Vivian LSR 2021-05-04 19:00 采纳率: 0%
浏览 46

arm开发板读取触摸屏坐标失败

开发板型号imx6ULL

我是想要读取手指在屏幕上点击的坐标,但是以上方法一直无法成功,经查,发现是一直无法进入if语句,即event.code一直不等于0

但是为什么在使用触摸屏时已经确定type为3,但code有50????

我非常确定触摸屏在event1

运用hexdump /dev/input/event1能够成功打印

代码如下

 

int anxia(int dev_fd,int* x,int* y)
{
	struct input_event event;	
	printf("24\n");
	while(1)
	{
		read(dev_fd,&event,sizeof(struct input_event));
		printf("%d\n", EV_ABS);
		printf("%d\n", event.type);//这两个问题不大,可以相等
		printf("--------1\n");
		printf("%d\n", event.code);
		printf("%d\n",ABS_X);
		printf("---------2---\n");
		if(event.type == EV_ABS && event.code == ABS_X)//event.code一直不为0
		{
			printf("29\n");
			*x = event.value;
		}
		if(event.type == EV_ABS && event.code == ABS_Y)
		{
			printf("34\n");
			*y = event.value;
		}
		
	}
}

int main(int argc, char const *argv[])
{
	int x ,y ;
    int x1 ;
    int y2 ;
	int dev_fd = open("/dev/input/event1",O_RDONLY);
	if(dev_fd == -1)
	{
		perror("open dev error");
		return -1;
    }
    printf("%d\n", dev_fd );
   while(1)
   {
	   	anxia(dev_fd,&x,&y);
	    sk(dev_fd,&x1,&y2);
	    printf("---------------------\n");
   }

	return 0;
}

 开发板运行的结果如下:

 

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-29 17:30
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办