首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Linux驱动开发-编写FT5X06触摸屏驱动

,其中的TOUCH2,TOUCH3…这些都是存放触摸屏坐标点的值。...当前的FT5206只是支持2点触控,所有就只能读取两个寄存器坐标的值。在前面第一个寄存器TD_STATUS里的低4位,存放了当前同时按下的点数量,可以将两个手指按在屏幕上测试读取的值。...这些寄存器里读取坐标值就是已经转换过后的值,也就是屏幕坐标,不需要再进行二次转换校准,非常方便。 3....编写触摸屏驱动 Linux下编写标准的触摸屏驱动需要使用到输入子系统,当前文章的重点是读取触摸屏坐标,所以示例代码里不会加输入子系统的代码,只是在驱动层完成触摸屏笔中断响应,触摸屏坐标点获取并打印。...读取坐标数据*/ i2c_smbus_read_i2c_block_data(touch_client,0,7,touch_buff); /*2.

2.4K20

day28-开发板触屏操作(2022.2.25)

,说明正常, 打开open、读取read、关闭close ============= 1.触摸屏原始数据解析 =================== 输入子系统头文件: /usr/include/linux...) #define EV_ABS 0x03 绝对位移(触摸屏坐标事件) Code: #define BTN_TOUCH 0x14a 触摸屏点击编码 #define ABS_X 0x00 触摸屏X轴编码...#define ABS_Y 0x01 触摸屏Y轴编码 备注: 1.黑色底板屏幕,触摸屏坐标范围是(0~1024, 0~600) 代码: 1.demo1_触摸屏输入.c #include // 输入子系统头文件 int ts_fd; // 触摸屏文件描述符全局变量 // 获取当前点击坐标 void get_xy(int *x, int *y); int main...failed"); return -1; } // 2.读取坐标(产生阻塞,等待用户点击) int pos_x, pos_y; while(1) { // 黑色底板屏幕,触摸屏坐标范围是

83710

【i.MX6ULL】驱动开发12——电容触摸驱动实践(上)

1 触摸介绍 LCD的触摸功能,本质就是显示屏上再叠加一层透明的触摸屏,实现触摸的方式与LCD进行交互。 触摸屏分为电阻触摸屏和电容触摸屏。...2.2 触摸芯片数据寄存器 查看GT911的数据手册,找到寄存器相关的表格: 主要关注以下这些寄存器,它们是用来读取触摸坐标点的: Addr Access bit7~bit0 0x814E R/W...在中断时,读取到触摸数据后,要传递到应用层,这里是使用Linux的input子系统(这也是Linux的一种软件分层设计的方式)。...**0x814E(GT_GSTID_REG)**这一个寄存器,判断触摸点的数量,然后再读取对应的坐标点数据寄存器,依次上报数据。...0x0f; // bit3~0:屏上的坐标点个数 } if(touch_num) /* 有触摸按下 */ { /* -----读取具体的触摸点数据寄存器----- */

91120

第018课 ADC和触摸屏硬件原理详解及裸机编程

启动ADC,(获得数据,xy坐标)启动ADC就开始模数转换,不可能瞬间完成, ADC完成, 产生中断 ADC中断中读取x y坐标,我们来想想,在这个流程里,启动触摸屏的源头是按下触摸屏...产生低电平后就知道触摸屏被按下了,这个时候就需要测量电压值读取x坐标,XP XM通电我就测量YP的电压,这不就是 x 点的坐标 ?...读取Y坐标 YP YM 通电,按下后XP通电,这不就是y点的坐标么 ? 第004节_S3C2440触摸屏接口 回顾上节触摸屏使用原理 ?...在不使用触摸屏的时候,必须要把 S1 S2 S3断开,S4 S5闭合,只有这样当我按下触摸屏,上面的电平才能从高变低,会产生一个中断信号,而当我去读取X坐标的值时 ?...我们需要得到这5个点的坐标 给这5个点分别设置为ABCDE 第一步 在A点显示 + 客户点击 + 记录触摸屏坐标 在BCDE上循环操作,显示点击读取的操作 第二步 根据这些数据,确定公式

1.8K20

Linux应用开发【第三章】输入系统应用开发

百问网imx6ul开发板触摸屏事件读取 3 输入系统应用开发 3.1 什么是输入系统? ​...常见的输入设备有键盘、鼠标、遥控杆、书写板、触摸屏等等,用户通过这些输入设备与Linux系统进行数据交换,Linux系统为了统一管控和处理这些设备,于是就实现了一套固定的与硬件无关的输入系统框架,供用户空间程序使用...一般情况下,触摸屏在input系统中属于绝对事件,也就是触摸的坐标点X和Y会在屏幕的分辨率范围内上报一个绝对的坐标。...\n"); 18 return -1 ; 19 } 20 while(1) 21 { 22 //2、获取触摸屏相应的事件,并打印出当前触摸的坐标 23...具体操作步骤可参考第11章:PC和开发板之间传输文件 接下来给test_touchscreen添加可执行权限: 执行test_touchscreen,然后用手触摸屏,可以看到有相应的坐标值打印:

1.5K20

GDAL读取坐标起点在像素左上角还是像素中心?

而GDAL可以也读取地理栅格数据(DEM、DOM等)的坐标信息: // GDALAllRegister(); CPLSetConfigOption("GDAL_FILENAME_IS_UTF8", "NO...< padfTransform[4] << endl //旋转系数,如果为0,就是标准的正北向图像 << padfTransform[5] << endl; //Y方向的分辨率 那么GDAL读取坐标起点也就是左上角点坐标...TFW里面存储的坐标起点标识的是左上角像素中心的位置。 而TIF内部存储的坐标起点标识的是左上角像素左上角的位置。所以两者的地理坐标的距离总是差半个像素的距离。...TIF内部可以不存储地理信息,此时GDAL/ArcMap会以TFW里面存储的起点位置为准,但因为TFW是像素中心的位置,读取的起点位置会偏移半个像素的距离。...当作为DEM处理的时候,其余的原则一样,但是读取的起点就是左上角像素中心的位置了。

1.2K20

Linux小项目-数码相册设计

然后硬件层,需要编写LCD屏驱动(帧缓冲框架),触摸屏驱动(输入子系统),三轴加速度计驱动(mma7660飞思卡尔的芯片)。...整个项目的代码布局如下: 如果把整个项目代码写完一遍,基本上Linux驱动、应用层编程都能够熟悉一遍。...(3)触摸屏驱编写,触摸屏驱动芯片是FT5X06,这个IIC接口的芯片,编写触摸屏驱动需要熟悉IIC子系统、输入子系统、内核中断、工作队列等框架,因为触摸屏芯片支持笔中断,需要注册中断,在中断服务函数里调用工作队列实时读取数据...应用层还需要适配tslib库接口,让tslib去读取输入子系统上传的坐标,还能完成校准,测试等功能,最终在自己工程内再封装函数去读取tslib接口返回的坐标数据,完成触屏屏逻辑处理。...设置字体文件的轮廓的插槽*/ FreeTypeConfig.slot=FreeTypeConfig.face->glyph; /* 设置坐标为原点坐标 * 将LCD坐标转换成笛卡尔坐标 *

1.2K20

DRV_03_编写最简单的触摸屏驱动程序_基于QEMU

QEMU触摸屏操作方法 寄存器说明如下: 地址 寄存器 说明 0x021B4000 touch_pressure_register 记录触摸屏压力值,只有0、1两个取值,1表示被按下,0表示松开 0x021B4004...touch_x_register 记录触摸屏X坐标 0x021B4008 touch_y_register 记录触摸屏Y坐标 0x021B400C touch_clean_register 写入任意值...QEMU改变GPIO电平、产生中断 在touch_pressure_register中记录压力值 鼠标在屏幕上滑动 在touch_x_register、touch_y_register中记录坐标...编写驱动程序 request_irq 在中断处理函数里 上报按下、松开的事件 如果触摸屏被按下,启动定时器 如果触摸屏被松开,取消定时器 在定时器函数里 如果触摸屏还是被按下的状态...,上报坐标值,并设置下一个超时时间 5.

1.2K30

(43)STM32——触摸屏实验笔记

(0X814E) 坐标数据寄存器 硬件连接 代码  总结  ---- 学习目标         本次实验我们讲解的是有关触摸屏的知识,原理是和我们的手机是一样的,采用电容型的方式,可以实现在显示屏上多点触摸并且划线...然后,写入 0,即可 正常读取坐标数据(并且会结束软复位) 配置寄存器组(0X8047~0X8100)         这里共 186 个寄存器,用于配置 GT9147 的各个参数,这些配置一般由厂家提供给我们...最后,该寄存器在每次读取后,如果 bit7 有效, 则必须写 0,清除这个位,否则不会输出下一次数据!...坐标数据寄存器         我们一般只用到触点的 x,y 坐标,所以只需要读取 0X8150~0X8153 的数据,组合即可得到触点坐标。...同样 GT9147 也支持寄存器地址自增,我们只需要发送寄存器组的首地址,然后连续读取即可,GT9147 会自动地址自增,从而提高读取速度。

61110

STM32入门开发:编写XPT2046电阻触摸屏驱动(模拟SPI)

目标芯片: XPT2046---标准SPI接口时序 二、XPT2046芯片介绍 2.1 功能 XPT2046是一颗12位的ADC芯片,可以当做普通的ADC芯片使用,但是一般都是用在电阻触摸屏上,方便定位触摸屏坐标...参考这里: https://blog.csdn.net/xiaolong1126626497/article/details/117648539 2.5 物理坐标与屏幕坐标的转换 正常在LCD屏上使用触摸屏...得到触摸屏左上角和右下角的坐标XY极限值 x=3831,y=3934 x=155,y=168 2....得到实际的像素坐标 x坐标: 320-(实时采集的当前X模拟量-155)/11.4875 y坐标: 480-(实时采集的当前Y模拟量-168)/7.84583 这里相减的原因: 因为我测试用的触摸屏采集出来的...0x90 11010000 :测试X的坐标 0xD0 返回值: 0表示没有读取坐标,1表示读取到当前坐标 //1.

2.5K20

今日小物件推荐

利用四线式电阻触摸屏实现多点触 摸技术的方法:第一个时刻,在 X1 电极上加上电 压,由 Y1、Y2、Y3 电极读取 A、 B、 C触摸单元所探测 到的 X坐标;同理,在以后的各个时刻依次读取剩余 触摸单元的...接收波形对应手指挡住部位信号衰减了一个缺口,计算缺口位置即得触摸坐标 控制器分析到接收信号的衰减并由缺口的位置判定X坐标之后Y轴同样的过程判定出触摸点的Y坐标除了一般触摸屏都能响应的XY坐标外,表面声波触摸屏还响应第三轴...MTK电阻式四线触摸屏原理 触摸屏附着在显示器的表面,与显示器相配合使用,如果能测量出触摸点在屏幕上的坐标位置,则可根据显示屏上对应坐标点的显示内容或图符获知触摸者的意图。...电阻式触摸屏结构 形区域中触摸点(X,Y)的物理位置转换为代表X坐标和Y坐标的电压。很多LCD模块都采用了电阻 式触摸屏,这种屏幕可以用四线、五线、七线或八线来产生屏幕偏置电压,同时读回触摸点的电压。...要是我得话,就是用adb控制了吧,目前最便宜得linux开发板就是荔枝派了吧 ? ?

90820

Linux 下Input系统应用编程实战

这里还是以最常用的操作系统Linux来进行讲解 在Linux内核中,有非常多的子系统,用于管理很多设备,比如显示系统,输入子系统,音频子系统,电源管理子系统,时钟管理子系统等等,本节我们重点关注Linux...接下来,我们来看一下如何来读取鼠标事件,写一段代码测试一下: mouse.c 1#include 2#include 3#include <unistd.h...接下来我们再写一个案例,在Tiny4412平台上获取电容屏的坐标值。 触摸屏上报坐标值的事件属于绝对事件,也就是,触摸的坐标点X和Y会在屏幕的分辨率范围内上报一个绝对的坐标(X,Y)。...open /dev/input/event0 failed\n"); 25 return -1; 26 } 27 return 0; 28} 29 30//获取ft5x0x_ts触摸屏上的坐标点...,如下,坐标值打印出来了。

2.6K30
领券