展开

关键词

触摸屏工作原理

一、电阻屏触控原理 类似可变电阻,当可变电阻的两端接一个正电压V+,另一端接地,当调整电阻值后,测量调整点与接地端的电压值,然后根据欧姆定律,计算出调整点与接地点的电压值。 这个电流分从触摸屏的四个电极中流出,并且流经这四个电极的电流与手指到四角的距离成正比,控制器通过对这四个电流比例的精确计算,得出触摸点的位置。 投射电容式 (PCT,Projected Capacitive Touch) 2.1 自电容式触摸基本原理(可以实现单点+手势) 2.2 互电容式触摸基本原理(可实现多点) 本文主要说的是投射电容式相关的内容 2.1 自电容式触摸基本原理 自电容,简单的说就是手指与大地形成一个电容,当触碰屏体本身的时候,形成一个并联电路。当手没有触碰屏体的时候,电路如下图(1)所示: ? 当手触摸屏体的时候,由于手指与大地之间就相当于接了一个Cf的并联电容,如下图(3)所示。 ? 等效为如图(4)所示: ?

1.1K30

linux 触摸屏驱动编写

早在诺基亚手机还比较流行的时候,那时候触摸屏用的还不多。但是随着触摸屏手机、即智能手机的流行,触摸屏基本成了手机的标配。所以,今天可以看看触摸屏驱动在linux上是如何进行的。 查看是否有中断函数被注册 ret = request_irq(ts.irq_tc, stylus_irq, 0, "s3c2410_ts_pen", ts.input); 8、最后 很明显,触摸屏驱动本质上还是由

60752
  • 广告
    关闭

    《云安全最佳实践-创作者计划》火热征稿中

    发布文章赢千元好礼!

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【技术干货】工业触摸屏之电阻屏原理(连载)

    触摸屏作为嵌入式产品中常用的交互设备,具有交互直观,编程简易等特点,本系列文章将以多种角度分析如何选择合适的触摸屏方案及常见的故障解决方法,敬请关注连载文章。下文主题为:电阻屏的原理。 1.1 基本原理 首先触摸屏属于输入设备,对于高效的系统而言,一个输入设备必须满足以下几点:1, 中断触发机制,若一个设备不能引起中断,那么系统只能隔一段时间查询外设是否被触发,倘若两次查询间隔内状态发生改变

    9020

    触摸屏校正

    有些设备的触摸屏不准,需要校正后才能正常使用。校正实际上就是配置设备在 Xorg 中的属性,具体属性名与驱动相关,后文描述。 下面开始介绍校正方法: 准备 安装需要用到的工具: xinput-calibrator : 触摸屏校正工具 xinput : 屏幕映射工具,多屏时使用 ---- 校正 执行 xinput_calibrator Option "CalibrationMatrix" "-43.0 0.0 47.9 0.0 0.1 0.0 0.0 0.0 1.0" EndSection 设备映射 若存在多块屏幕,这时就需要指定触摸屏对应的设备

    1K30

    12.触摸屏驱动

    触摸屏子系统是通过input子系统来实现,对应设备节点 /dev/input/eventn,熟悉套路后重点放在硬件程序的编写 一、内核自带触摸屏驱动S3c2410_ts的简单分析 S3c2410_ts.c (drivers\input\touchscreen) 内核自带三星的触摸屏驱动 (1)入口函数: /*注册一个平台driver*/ static int __init s3c2410ts_init 触摸屏使用流程 a.按下,产生中断 b.在中断处理程序中,启动ADC转换坐标。 f.松开 具体触摸屏的测量坐标的原理可以参考https://blog.csdn.net/qq_16933601/article/details/102749277 分配input_dev结构体 static 设置 */ /* 2.1 能产生哪类事件 */ set_bit(EV_KEY, s3c_ts_dev->evbit); /*触摸屏绝对位移事件*/ set_bit(EV_ABS, s3c_ts_dev

    27020

    Linux触摸屏驱动分析(6410) -- s3c-ts

    /errno.h> #include <linux/kernel.h> #include <linux/module.h> #include <linux/slab.h> #include <linux /input.h> #include <linux/init.h> #include <linux/serio.h> #include <linux/delay.h> #include <linux/platform_device.h } } static struct timer_list touch_timer = TIMER_INITIALIZER(touch_timer_fire, 0, 0); /* 当触摸屏按下后 * 比如: 内存ioremap, 中断资源获取, 配置ADCCCON等寄存器 * * 当中断注册好后,当我们按下触摸屏后,就会触发tc中断 */ static int __init s3c_ts_probe BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS); ts->dev->keybit[BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH); /*设置触摸屏

    8620

    电容触摸屏原理以及敦泰TP FT5X06驱动

    在说驱动之前,咱们可以先来了解下通信的基本原理: 数据通信的种类有:串行通信、并行通信。不管是什么类型的通信,再怎么复杂的,也是在这两种上面衍生出来的。 来看看怎么接: image.png 但通常在MCU中,不会这么接,但最终的效果是一样的,原理还是有所区别。

    88530

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

    第003节_电阻触摸屏硬件原 这节课我们来讲电阻触摸屏的硬件原理 假设有一个比较长的电阻,电阻是R 上面接3.3V电压,下面接地 ? 第004节_S3C2440触摸屏接口 回顾上节触摸屏使用原理 ? 开始触摸屏编程,关于触摸屏编程大概会分为3个小节 第006节_触摸屏编程_ADC中断 第007节触摸屏编程定时器程序优化 参考《嵌入式Linux应用开发完全手册》第14章 ADC和触摸屏接口 可以参考下面这张图 模式 */ enter_auto_measure_mode(); /* 启动ADC */ ADCCON |= (1<<0); } } 第009节触摸屏编程较准原理 这节视频我们讲的时校准原理 第010节触摸屏编程较准与画线编 这个程序我们怎么写 ?

    66120

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

    前言 这篇文章介绍在Linux下如何编写FT5X06系列芯片驱动,完成触摸屏的驱动开发, FT5X06是一个系列,当前使用的具体型号是FT5206,它是一个电容屏的触摸芯片,内置了8位的单片机(8051 所说起触摸屏大家都不会陌生,现在手机、手表、家电、很多地方都支持触摸了。最开始的触摸屏都是电阻屏,在诺基亚时代的时候,使用的触摸屏都是电阻屏,后来Android兴起的时候,手机都向电容屏发展了。 编写触摸屏驱动 Linux下编写标准的触摸屏驱动需要使用到输入子系统,当前文章的重点是读取触摸屏的坐标,所以示例代码里不会加输入子系统的代码,只是在驱动层完成触摸屏笔中断响应,触摸屏的坐标点获取并打印。 这是开发板LCD屏幕的硬件原理图: 3.1 设备端代码(FT5206) #include <linux/kernel.h> #include <linux/module.h> #include <linux /kernel.h> #include <linux/module.h> #include <linux/miscdevice.h> #include <linux/fs.h> #include <asm

    13920

    Ubuntu中禁用TinkPad触摸屏

    本来有触摸屏是件好玩的事情,无奈屏幕裂一道缝了,导致经常自动点击,影响正常使用。安了Ubuntu后,找了许久终于找到一个能用的解决方案。主要思想是通过xinput禁用驱动解决,缺点是关机后失效。 Ubuntu 18.10 xinput 1.在终端输入xinput 在列出的输入设备列表中查找触摸屏对应的名称.这里是SYNAPTICS Synaptics Touch Digitizer V04和其id 2、设置触摸屏的enabled属性为0,禁用触摸屏 xinput set-prop 14 "Device Enabled" 0 3、查看触摸屏属性列表 xinput list-props 14 配置开机自动执行 Enabled' 0 echo "触摸屏关闭成功!" 参考资料 Ubuntu中禁用华硕S550C触摸屏的方法

    1.1K10

    玩转三菱触摸屏--VNC,电脑直接远程操作触摸屏

    设置三菱触摸屏VNC功能 设置VNC参数 1)[使用VNC服务器] 将VNC服务器功能设为有效。 2)[服务器连接设置] 进行GOT的连接设置。 别在办公室捉弄现场操作工哦 知识普及: VNC 实现的控制原理 1. 屏幕控制原理 VNC 是把被控制端的屏幕做成图像,经过压缩后传送到控制端 控制端的控制信息(如鼠标信息)传送到被控制端后进入消息队列 客户端 X 原理是在远程机器上运行一个额外的 X 服务器, X 服务器和客户机器都在远程跑。

    1K20

    你无法检测到触摸屏

    设备宽度媒体查询 ¶ 手机拥有小屏幕,并且手机拥有触摸屏,所以小屏幕等于触摸屏,这正确吗? 没有结果 ¶ 假设有一个这些触摸接口存在就意味着这个设备有一个触摸屏……那是否意味着如果没有触摸接口存在,那触摸屏也一定不存在? 当然不是。 这是动态的, Jim ¶ 一个触摸屏可以作为一个外围设备连接到另一个非触摸式笔记本电脑,或者一个 KVM 开关可以从非触摸屏切换到触摸屏。这可以在浏览器会话过程中的任何时间发生。 悬停状态的处理 ¶ 当前的触摸屏并不能传输鼠标/光标悬浮状态, 所以,最好调整我们对于触摸屏的UI设计,以便在触摸屏上能够继续使用。 当然,键盘也是不能悬停的。 关于布局,假设每个人都有触摸屏。鼠标用户们使用大的控件比触摸屏用户们使用小控件更加容易。悬停状态也是一样的。 关于事件和交互,假设任何人可能有触摸屏

    59220

    开发板触摸屏测试

    很多同学想把100ASK_IMX6ULL硬件一个一个测试, 触摸屏能点击的话,就表示它没问题。 另外,电容屏不需要较准。 如果你就是想走一遍,请按下面方法: a.

    7910

    Unity 移动端触摸屏操作

    每个手指触控都是通过Input.touches来描述的: fingerId 触摸的唯一索引 position 触摸屏幕的位置 deltatime 从最后状态到目前状态所经过的时间 deltaPosition 自最后一帧所改变的屏幕位置 phase 相位,也即屏幕操作状态 其中phase(状态)有以下这几种: Began 手指刚刚触摸屏幕 Moved 手指在屏幕上移动 Stationary 手指触摸屏幕,但自最后一阵没有移动 Ended 手指离开屏幕 Canceled 系统取消触控跟踪

    56920

    Linux系统调用原理

    系统调用 是 Linux 内核提供的一段代码(函数),其实现了一些特定的功能,用户可以通过 int 0x80 中断(x86 CPU)或者 syscall 指令(x64 CPU)来调用 系统调用。 二、进入系统调用 本文主要介绍的是 x86 CPU 进入系统调用的方式 Linux 提供了 int 0x80 中断来让用户程序进入 系统调用,我们来看看 Linux 对 int 0x80 中断的处理初始化过程 原理如下图(图片来源 https://developer.ibm.com/zh/technologies/linux/tutorials/l-system-calls/ ): ? Linux 使用寄存器来传递参数,参数与寄存器的关系如下: 第1个参数放置在 ebx 寄存器。 第2个参数放置在 ecx 寄存器。 第3个参数放置在 edx 寄存器。 而 Linux 进入中断处理程序时,会把这些寄存器的值保存到内核栈中,这样 系统调用 就能通过内核栈来获取到参数。

    41030

    linux history原理,linux history 命令详解

    显示命令执行时间 linux shell 具有history 功能,即会记录已经执行过的命令,但是默认是不显示命令的执行时间,命令的执行时间,history 已经记录,只是没有显示。

    6250

    基于瑞芯微RV1109 Linux触摸屏GT911驱动调试心得(二)-设备树刷厂商给的触摸屏固件

    之前调试触摸屏的文章如下: 基于瑞芯微RV1109 Linux触摸屏GT911驱动调试心得 由于之前调触摸屏一直都对不上点,然后厂商又给了我新的驱动代码。 但是还是没能解决问题,所以我初步怀疑是固件问题,因为驱动基本上只要写对了是不会有问题的,因此,我让厂商帮我调了一个适配触摸屏的固件,最后这个问题就解决了。 然而现在驱动支持设备树了以后,Linux内核设备树里配置触摸屏参数的写法是这样的: //TP:GT911 &i2c5 { status = "okay"; goodix_ts@5d { compatible 00 00 00 00 34 01 ]; }; }; 注意,这里需要注意,如果要将数组烧到TP板子里的话,需要开启: gtp_send_cfg = <1>; 这样这些数组在上电时就会被写入到触摸屏里去 { memcpy(cfg, prop->value, *cfg_len); return 0; } } 最后通过判断设备树里gtp_send_cfg是否为1,如果为1,则将这个数组发送到触摸屏芯片中

    69230

    单片机触摸屏校准

    触摸屏就是显示屏加触摸贴膜 第一种情况 假设显示屏 ? 假设触摸贴膜 ?

    46790

    触摸屏的发展预判

    一、触摸屏的性能比较 工业触摸屏工作在与外界完全隔离的环境中,它不怕灰尘、水气和油污,可以用任何物体来触摸,比较适合工业控制领域使用。 缺点是由于复合薄膜的外层采用塑料,太用力或使用锐器触摸可能划伤触摸屏。 电容式触摸屏的分辨率很高,透光率也不错,可以很好地满足各方面的要求,在公共场所常见的就是这种触摸屏。 表面声波触摸屏还具有第三轴(z轴),也就是压力轴—通过计算接收信号衰减处的衰减量可得到用户触摸屏幕的力量大小,最多可分为256级力度。 力量越大,接收信号波形上的衰减缺口也就越宽越深,在所有的触摸屏中,只有表面声波触摸屏具有感知触摸压力的性能。应用场合根据对触摸屏的结构、原理和性能特点的分析,不同触摸屏的适用场合。 可以预见,随着触摸屏技术的迅速发展,触摸屏的应用领域会越来越广,性能会越来越好。

    45850

    ft6236 触摸屏驱动

    在目录下amp\a53_linux\drv\extdrv\touchpad\ft6236下可以看到ft6236.c的文件 1. init函数 static int __init ft_init(void #define INT_GPIO_CHIP (2) #define INT_GPIO_OFFSET (5) 这些管脚可以在这里《Hi3556AV100 Demo 单板使用指南.pdf》中看到,分别得出触摸屏的中断和复位管脚 1.1 对触摸屏进行复位 static int ft_reset(hi_gpio_groupbit_info* pstRstInfo) { pstRstInfo->value = 1; pstRstInfo); msleep(5); pstRstInfo->value = 1; hi_gpio_write_bit(pstRstInfo); return 0; } 对触摸屏进行复位 hi_i2c_read(0x0, buf, FT_MAX_BUFUSED_NUM); 在这里,使用了hi_i2c_read,在文件i2cdev.c中,注意i2c_board_info的一般是8位从地址; 一般来说,触摸屏有固件的

    90120

    扫码关注腾讯云开发者

    领取腾讯云代金券