首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

电容屏是一块四层复合玻璃屏,电容触摸屏就是支持多点触摸的人机交互方式,普通电阻式触摸屏只能进行单一点的触控。...1.1 硬件原理图 本篇使用的是野火的7寸电容触摸屏,分辨率和屏幕一样,800x480。触摸驱动芯片我GT911,是IIC接口的芯片。...: 3 使用Linux内核自带的驱动(未测试) 对于触摸屏的驱动,NXP已经编写好了触摸驱动,加以修改可以在自己的板子上使用。...我这个7寸屏的驱动型号为GT911,属于 GOODIX 公司生产的触摸芯片,该触摸驱动已默认添加到了Linux内核中,位于:/drivers/input/touchscreen/goodix.c。...使用Linux内核自代的驱动,还需要进行内核配置。

91620

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

上篇文章介绍了电容触摸驱动的编写,包括设备树的修改和驱动程序(IIC驱动+中断+input子系统),并通过将触摸坐标值实时打印出来的方式,对触摸功能进行测试。...1 tslib的使用 Tslib是一个开源的程序,能够为触摸驱动获得的采样提供诸如滤波、去抖、校准等功能,通常作为触摸驱动的适配层,为上层的应用提供了一个统一的接口。...,屏幕上就会出现滑过的轨迹线: 2 多点触摸(MT)协议讲解 多点触摸协议,即Multi-touch (MT) Protocol,该协议的介绍,在linux内核源码中有对应的文档,如下图: 多点电容触摸的协议分为两种类型...,实际上如果使用了多点触摸,可以将单点触摸的上报去掉,如下: 去掉后,再次测试,可以看到只有多点触摸数据的上报: 4 将触摸驱动编译到内核 自己编写的触摸驱动,每次系统启动后,都要手动加载驱动模块后才能使用...方法如下: 将自己写的触摸驱动文件拷贝到Linux内核的drivers/input/touchscreen/目录下: cp gt911.c ../..

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

浅析电容触摸感应原理与类型

所有的电容触摸的核心都是一组与电场相互作用的导体。...人体组织的皮肤是一种有损电解质,相当于导电电极,在简单的平行片电容中间隔着一层电介质,该系统中的大部分能量聚集在电容器极板之间,少许的能量会溢出到电容器极板以外的区域,当手指放在电容触摸系统时,相当于放置于能量溢出区域...即:驱动与传感器相连的引脚上的电流,由于将手指放在传感器上,其系统的电容会增加,因此其电压也会增加,实测电压的变化即可检测是否有手指进行触摸。这种技术一般用于单点触摸或滑条。...由此通过检测RX电极上的电荷检测触摸/无触摸状态。...可以确定手指的位置 三维传感器 接近感应传感器在手或其他导体靠近的时候就能检测到,实现接近感应的一种方法是围着用户界面铺上一条长走线,该走线可在大范围内感应电容的变化,由此使得系统对用户的触摸感应显得更加快速

61320

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

前言 这篇文章介绍在Linux下如何编写FT5X06系列芯片驱动,完成触摸屏的驱动开发, FT5X06是一个系列,当前使用的具体型号是FT5206,它是一个电容屏的触摸芯片,内置了8位的单片机(8051...所说起触摸屏大家都不会陌生,现在手机、手表、家电、很多地方都支持触摸了。最开始的触摸屏都是电阻屏,在诺基亚时代的时候,使用的触摸屏都是电阻屏,后来Android兴起的时候,手机都向电容屏发展了。...现在电容屏就很方便了,只需要手指去触摸屏即可完成操作,比电阻屏方便很多,还支持多点触控,当初Android手机刚兴起的时候,大街小巷的体验店,广告都是切水果游戏,切水果这个游戏就充分体验了多点触摸的效果...当前文章介绍的FT5206就是一颗电容屏的驱动芯片,最高支持2点触控,可以通过获取两个坐标点,这个系列的芯片最高支持10点触控。...编写触摸驱动 Linux下编写标准的触摸驱动需要使用到输入子系统,当前文章的重点是读取触摸屏的坐标,所以示例代码里不会加输入子系统的代码,只是在驱动层完成触摸屏笔中断响应,触摸屏的坐标点获取并打印。

2.4K20

【STM32H7】第5章 ThreadX GUIX上手之电阻触摸电容触摸

5.1 初学者重要提示 5.2 电阻触摸电容触摸相关知识 5.3 电阻屏硬件设计 5.4 电容屏硬件设计 5.5 电阻触摸驱动设计 5.6 电容触摸驱动设计 5.7 不同触摸IC的识别 5.8 LCD...5.5   电阻触摸驱动设计 下面将电阻触摸程序设计中的相关问题逐一为大家做个说明。...5.5.1  STMPE811的驱动实现 电阻触摸要比电容触摸麻烦很多,因为电阻触摸要做校准,还要做滤波,否则采集回来的触摸值会抖动或者出现飞点,出现这种情况的主要原因是电阻触摸板的线性度不够好。...tpX > 0) && (tpY > 0)) { } break; } } 5.6   电容触摸驱动设计...下面分两种情况进行说明:   电容触摸的移植比较简单,如果用户用的触摸IC跟开发板一样,直接拿来用即可,如果不一样,需要先将触摸IC的驱动实现,然后按照开发板提供的GT811、GT911和FT5X06

99720

【STM32F429】第5章 ThreadX GUIX上手之电阻触摸电容触摸

5.1 初学者重要提示 5.2 电阻触摸电容触摸相关知识 5.3 电阻屏硬件设计 5.4 电容屏硬件设计 5.5 电阻触摸驱动设计 5.6 电容触摸驱动设计 5.7 不同触摸IC的识别 5.8 LCD...下面是电容触摸板引出的引脚: 注意I2C_SDK和I2C_SCL的上拉电阻在V7主板上。 5.5   电阻触摸驱动设计 下面将电阻触摸程序设计中的相关问题逐一为大家做个说明。...5.5.1  STMPE811的驱动实现 电阻触摸要比电容触摸麻烦很多,因为电阻触摸要做校准,还要做滤波,否则采集回来的触摸值会抖动或者出现飞点,出现这种情况的主要原因是电阻触摸板的线性度不够好。...tpX > 0) && (tpY > 0)) { } break; } } 5.6   电容触摸驱动设计...下面分两种情况进行说明:   电容触摸的移植比较简单,如果用户用的触摸IC跟开发板一样,直接拿来用即可,如果不一样,需要先将触摸IC的驱动实现,然后按照开发板提供的GT811、GT911和FT5X06

1.2K30

android 电容屏(四):驱动调试之驱动程序分析篇 -- FocalTech

本人用的触摸屏IC是FocalTech公司的ft5306,是一款i2c的电容屏多点触控芯片。对于它的整体驱动官方已经给了,我们就触摸屏和按键部分的代码做相关说明。说明其中应该注意的地方。...三、触摸驱动流程 i2c中加入平台初始化代码 static struct ft5x0x_platform_data ft5x0x_platform_i2c_data = { .x_max...y_max=960, .irq= SABRESD_CHARGE_FLT_1_B, //中断引脚 .reset=SABRESD_DISP0_RST_B, //复位引脚 }; 触摸驱动初始化...从android input的流程分析我们知道,驱动编译完成以后,要使触摸屏工作,还需要三个文件:触摸屏配置文件 (idc文件,用来配置触摸屏的一些属性)、keylayout文件(kl文件,安卓层面的按键映射文件...,可以用这个命令将发送的事件打印出来,看驱动写的是否正确。

1.7K20

18.Llinux-触摸驱动(详解)

input_handler_list链表中 搜索input_register_handler注册函数,就可以看到都是事件处理层里的函数: 所以最终如下图所示: 右边的驱动事件处理,内核是已经写好了的,所以我们的触摸屏只需要写具体的驱动设备...linux/module.h> #include #include #include #include <linux..., 不编进内核和模块 然后make uImage 编译内核 将新的触摸驱动模块放入nfs文件系统目录中 7.2然后烧写内核,装载触摸驱动模块 如下图, 通过 ls -l /dev/event* 命令可以看到我们的触摸驱动的设备为...、去抖、校准等功能,通常作为触摸驱动的适配层,为上层的应用提供了一个统一的接口。...校验界面 运行测试如下图所示,能随意画图: 最终,触摸驱动测试成功

3.3K91

(二十)STM32——电容触摸按键?建议改名为卫生纸按键

目录 学习目标 运行结果 内容 硬件介绍  电容 配置 代码 遇到的问题 总结  ---- 学习目标         本节我们来介绍一下有关电容触摸按键的知识点,其实电容触摸我们日常接触的特别多,我们的手机也是使用电容触摸来实现的...我们今天介绍的电容触摸属于非常简单的一种,接下来我们就开始我们今天的介绍吧! 运行结果 https://player.bilibili.com/player.html?...aid=557062890 电容触摸按键?还是叫他卫生纸按键吧! 内容 硬件介绍          我们首先来介绍一下有关电容触摸按键的硬件知识和原理部分,这些是我们后面编写代码的关键步骤。...电容         关于电容这部分,我就简单介绍一下基本原理,首先我们要知道电容充电(充到可以检测到的值)是需要一定的时间的,而且这个充电是与电容大小有关的。...,后面就直接用卫生纸来代替手指了(doge)  总结          本节电容触摸按键就先介绍到这了,希望对于大家有所帮助,谢谢大家观看了!

30720

电容触摸屏GT911、GT928、GT9147的使用

一、介绍与硬件连接 GT911、GT928、GT9147都属于GT9系列非单层多点触控芯片,他们支持的触控点数不同(GT928支持10个点、GT911支持5个点)、驱动和感应通道也可能不同...可是他们的寄存器和IIC通讯时序是相同的,也就是说驱动程序是兼容的。 与主机的接口共有6PIN,分别为:VDD、GND、SCL、SDA、INT、RESET。...INT是GT9xx的触摸信号输出引脚,在正常工作时,主机端要设置为悬浮输入,即不上下拉(GT9xx的驱动能力有限,如果外部上下拉,GT9xx可能驱动不了)。...REG 0X8160 //第三个触摸点数据地址 #define GT_TP4_REG 0X8168 //第四个触摸点数据地址 #define GT_TP5_REG 0X8170 //第五个触摸点数据地址...GPIO_MODE_OUTPUT_PP; //推挽输出 HAL_GPIO_Init(GPIOI,&GPIO_Initure); //初始化 CT_IIC_Init(); //初始化电容屏的

3.5K20

01_Input子系统视频介绍

资料下载 coding无法使用浏览器打开,必须用git工具下载: git clone https://e.coding.net/weidongshan/linux/doc_and_source_for_drivers.git...视频观看 百问网驱动大全 Input子系统视频介绍 参考资料: Linux 5.x内核文档 Documentation\input\input-programming.rst Documentation...\input\event-codes.rst Linux 4.x内核文档 Documentation\input\input-programming.txt Documentation\input...输入设备的种类 输入设备种类很多,有GPIO按键、鼠标、电阻触摸屏、电容触摸屏、USB键盘、遥控手柄等等。...\gpio_keys.c 使用 3.5 在QEMU上实现最简单的触摸驱动 3.6 I2C接口的触摸驱动分析与实践 3.5 在QEMU上实现最简单的触摸驱动 3.6 I2C接口的触摸驱动分析与实践

88330

【STM32H7教程】第54章 STM32H7的LTDC应用之LCD电阻触摸电容触摸

54.1 初学者重要提示 54.2 电阻触摸电容触摸相关知识 54.3 电阻屏硬件设计 54.4 电容屏硬件设计 54.5 电阻触摸驱动设计 54.6 电容触摸驱动设计 54.7 不同触摸IC的识别...LTDC驱动设计和相关问题在第51章有详细说明。   电阻触摸支持2点和4点校准,而电容屏无需校准。   电阻触摸校准解决的是触摸板的线性度问题,而飞点要另外处理,当前程序已经做了支持。...下面是电容触摸板引出的引脚: 注意I2C_SDK和I2C_SCL的上拉电阻在V7主板上。 54.5 电阻触摸驱动设计 下面将电阻触摸程序设计中的相关问题逐一为大家做个说明。...54.5.1        STMPE811的驱动实现 电阻触摸要比电容触摸麻烦很多,因为电阻触摸要做校准,还要做滤波,否则采集回来的触摸值会抖动或者出现飞点,出现这种情况的主要原因是电阻触摸板的线性度不够好...下面分两种情况进行说明:   电容触摸的移植比较简单,如果用户用的触摸IC跟开发板一样,直接拿来用即可,如果不一样,需要先将触摸IC的驱动实现,然后按照开发板提供的GT811、GT911和FT5X06

1.3K30

基于瑞芯微RV1109 Linux触摸屏GT911驱动调试心得

1.2、使用i2cdetect工具确定设备地址 由于我的触摸屏是连接在I2C5上,硬件原理图如下所示: 但是我还没有实现它的驱动,所以可以通过i2cdetect工具来确定设备的I2C地址是多少,ARM...2、GT911驱动移植 2.1、配置Linux内核支持gt9xx GT911在Linux内核中已经支持了,位于以下路径,如果没有的话就需要跟触摸屏厂商要驱动代码,如果要不到那么就拿着Datasheet自己干吧...2.2.3、配置max-x、max-y max-x 触摸X方向的分辨率,由于我的触摸屏是1024*600,项目上需要竖屏触摸,所以X方向的分辨率配置为600。...max-y 触摸Y方向的分辨率,由于我的触摸屏是1024*600,项目上需要竖屏触摸,所以X方向的分辨率配置为1024。...,TP驱动成功!

7K70
领券