S7-1200如何读取触摸屏M1.0的值

S7-1200如何读取触摸屏M1.0的值,第1张

打开触摸屏的驱动("/dev/input/event0"),读取触摸屏的坐标。

触摸屏vid,pid,版本等,以及ABS表示触摸屏的绝对坐标掩码,掩码上面表示16进制,其中为1的比特的位置就表示触摸屏会报告这一类型的事件,前面bit0和bit1以及bit24为1,那么看linux/input.h文件就表示事件code码有ABS_X=0x00 , ABS_Y=0x01, ABS_PRESSURE=0x18,这三个分别表示触摸屏报告触摸的x坐标,y坐标,以及按下和松开。但是不同的触摸屏的x,y坐标的范围不一定,所以需要通过input_absinfo结构体去记录得到触摸屏的绝对值信息。

linux下面你的应用程序read读取出来的是驱动程序中通过内核返回给你的值。如果你想让鼠标和触摸屏的设备文件读出来是坐标或者是别的什么,你需要更改驱动程序,让驱动返回给你你想要的值,在驱动中使用copy_to_user这个函数就可以了,或者自己测试一些。因为我并没有试过直接去读鼠标等设备文件,但是原理这样的。

很多方法吧。。首先你要明白校准的原理,你的触摸屏和你的显示屏实质上是没有关系,所谓校准就是让屏幕上的某点和触摸屏的某点形成关系,这个关系所需要的就是几个关系系数,其实就是一个多元一次方程组,通过采集多点来求解这个方程组就求出了关系系数。这样底层驱动传上来触摸屏坐标后,系统就会自动转换成屏幕的坐标。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8906634.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-22
下一篇2023-04-22

发表评论

登录后才能评论

评论列表(0条)

    保存