A40i使用笔记:调用系统自带驱动GT911触摸屏

article/2025/8/23 2:01:41

一、前言

        在一般情况下使用电容触摸屏时,都是使用USB直接驱动,但是在前文中我就提及过遇到的问题,就是USB触摸屏和我是用平台不是特别兼容的问题,问题现象在复述一遍,大概就是使用linux核心板USB接口连接ILTTEK的触摸芯片是没有问题的,而使用GOODIX的GT911触摸芯片配合IIC转USB免驱板时,会出现多指触摸然后触摸屏失灵现象,需要重新插拔以下触摸屏USB,或者重启程序,这两种都是无法忍受的,经过很长时间的调试,身为对于系统底层还是小白的我实在是无力解决这个不兼容问题,后来就全力研究如何使用直接驱动的方式,跳过USB免驱板,直接使用系统资源IIC总线信号和RST以及INT引脚,去调用GT911芯片驱动,控制触摸屏。而经过好几天下班时间的研究和与售后耐心的邮件互传下,终于不负我!

二、环境

全志A40i(飞凌A40i核心板)

linux3.10

2401源码包

三、正文

首先附上我更改的文件资源https://download.csdn.net/download/qq_37603131/86797324

1.硬件修改部分

使用核心板的TWI1接口,在找两个引脚配置RST和INT,配置sys_configFCU2401.fex文件,文件内核心修改的地方如下:

[twi1]
twi1_used        = 1
twi1_scl         = port:PB18<2><default><default><default>
twi1_sda         = port:PB19<2><default><default><default>
;----------------------------------------------------------------------------------
;capacitor tp configuration电容触摸
;external int function
;wakeup output function
;notice ---    tp_int_port &  tp_io_port use the same port
;compatible       设备名字
;ctp_used		  是否使用
;ctp_name		  用作区别gd系列,适配屏幕分辨率
;ctp_twi_id		  用作选择iic的adapter,可选1,2
;ctp_twi_addr     指明iic设备地址,与硬件相关
;ctp_screen_max_x 触摸板x最大坐标
;ctp_screen_max_y 触摸板y最大坐标
;ctp_touch_panel_max_x
;ctp_touch_panel_max_y
;ctp_revert_x_flag是否需要反转x坐标,需要置1,反之置0
;ctp_revert_y_flag是否需要反转y坐标,需要置1,反之置0
;ctp_exchange_x_y_flag是否需要xy坐标对换
;ctp_power_ldo	  触摸屏电源配置
;ctp_power_ldo_vol触摸屏电压配置
;ctp_int_port	  电容屏中断信号GPIO配置
;ctp_wakeup		  电容屏唤醒信号GPIO配置
;----------------------------------------------------------------------------------
[ctp]
compatible          = "allwinner,sun50i-ctp-para"
ctp_used            = 1
ctp_name            = "gt9xx_ts"
ctp_twi_id          = 1
ctp_twi_addr        = 0x14
ctp_screen_max_x    = 800
ctp_screen_max_y    = 480
ctp_touch_panel_max_x  = 800
ctp_touch_panel_max_y  = 480
ctp_revert_x_flag   = 0
ctp_revert_y_flag   = 0
ctp_exchange_x_y_flag = 0
ctp_power_ldo       = "vcc-ctp"
ctp_power_ldo_vol   = 3300ctp_int_port        = port:PH02<6><default><default><default>
ctp_wakeup          = port:PH05<1><default><default><0>;----------------------------------------------------------------------------------
;compatible配置名称
;ctp_list_used 支持触摸屏list
;ft5x_ts       是否支持ft5x_ts模组
;gt82x	       同上
;gt9xx_ts      同上
;gt9xxnew_ts   同上
;gt811	       同上
;zet622x       同上
;aw5306_ts     同上
;----------------------------------------------------------------------------------
[ctp_list]
compatible          = "allwinner,sun50i-ctp-list"
ctp_list_used	    = 1
ft5x_ts             = 1
gt82x               = 1
gt9xx_ts            = 1
gt9xxnew_ts         = 1
gt811               = 1
zet622x             = 1
aw5306_ts	    = 1

        需要注意引脚配置模式,还有TWI的id要对应,我之前就是默认的TWI3,id默认是3,更换TWI1一直没修改ID,后来有糊涂把TWI引脚的模式修改了,这里就是配置资源部分,不得不说,飞凌独立开发的这个config文件针对于不需要深入学习和专业搞linux的人上手还挺快的,无需特别深入的学习设备树,大部分功能只需要修改这个配置文件,就可以了,目前我使用这个配置文件修改了诸多接口,比如SATA,CAN,485,232,双网口,电阻触摸,电容触摸,LVDS,LCD,双LVDS1080P,GPIO等等。

接下来还需要修改的就是系统配置部分,sun8iw11p1smp_oka40i_c_defconfig这个文件,需要将文件内的链接到GT911驱动的部分打开,GT911源码在系统自带的驱动文件中,一层一层查看Makefile文件,并将对应的宏全部在系统配置文件中选择,其中可以设置m和y,m的含义就是编译出ko文件,加载驱动需要手动加载,y的含义就是不编译ko文件,集成在系统驱动中自动加载,一遍调试驱动时需要发现哪里有问题, 选择m编译,当确定之后使用y自动加载即可,也不用在学一段程序调用驱动,直接开机默认执行驱动。 

        这里我将系统配置文件的宏CONFIG_TOUCHSCREEN_GT9XXNEW_TS=y打开,在执行build.sh时就会带着GT911驱动一起编译了。

        之后编译系统镜像包,更新镜像文件到板卡中即可,目前唯一美中不足的就是触摸屏识别成为了鼠标,在点击屏幕时会出现鼠标指针,后续继续研究如何识别为触摸屏,将鼠标指针去掉,插上真正的鼠标之后才会出现鼠标。


凌晨翻来覆去睡不着,看了一下邮箱,飞凌技术发给一个在qt去除鼠标指针的方法,看了一下方法,有了一些灵感,可能不通过qt去除,而是在环境变量删除一些东西也可以,于是乎就开始了起床测试之路。

修改如下:

删除资源中qt5.9.sh环境变量中 evdevmouse部分,于是乎触摸就正常了,不在显示鼠标指针。但是这时候接入有线鼠标大概率是不能用的,于是乎这个环境变量又得特殊标记一下了,仅用于gt911触摸屏使用不持支有限鼠标,实际我并灭有接入鼠标测试,因为家里没有有线鼠标,呜呜呜~

四、结语

坚持,就是胜利!怀揣梦想,树立目标,才不会停止前进的步伐。


http://chatgpt.dhexx.cn/article/Rc7kGxqj.shtml

相关文章

GT911电容触摸屏使用

注&#xff1a;转载于https://blog.csdn.net/qlexcel/article/details/99696108 一、介绍与硬件连接 GT911、GT928、GT9147都属于GT9系列非单层多点触控芯片&#xff0c;他们支持的触控点数不同&#xff08;GT928支持10个点、GT911支持5个点&#xff09;、驱动和感应通道也可能…

openharmony hdf框架gt911触摸驱动移植

openharmony提供了hdf的驱动框架&#xff0c;今天以gt911触摸驱动的例子记录一下。首先hdf要加载进Linux的driver中&#xff0c;在Linux源码/driver/hdf目录有如下文件。 framwork和khdf两个软链接文件一定要链接成功。 在hdf的设备树中加入gt911的文件信息 /home/xu/openhar…

Linux运行911,韦东山-Linux下编写GT911触摸驱动 - 百问网嵌入式问答社区

源码在最下面 问题一:资源获取Gt911数据手册 在韦老师给的资料里,路径为\06_Datasheet\Extend_modules\7寸LCD模块\电容触控芯片GT911 Datasheet_121120(海威思.pdf 问题二:需要准备哪些知识 1.能够修改设备树 2.能够编写字符设备驱动 3.能够在linux下编写中断程序 4.能够在…

Linux下编写GT911触摸驱动

问题一&#xff1a;资源获取Gt911数据手册 在韦老师给的资料里&#xff0c;路径为\06_Datasheet\Extend_modules\7寸LCD模块\电容触控芯片GT911 Datasheet_121120&#xff08;海威思.pdf 问题二&#xff1a;需要准备哪些知识 1.能够修改设备树 2.能够编写字符设备驱动 3.能…

移植openharmony之调试gt911触摸

最近在调试触摸驱动&#xff0c;分析了一点openharmony的hdf框架下的触摸&#xff0c;将过程记录下&#xff0c;首先肯定是加载input设备管理驱动&#xff1a;input设备管理驱动由HDF驱动加载&#xff0c;完成设备manager的创建并对其初始化。如下图所示&#xff0c;我这里就是…

使用STM32+硬件IIC+DMA驱动GT系列触摸屏(GT911)

使用STM32硬件IICDMA驱动GT系列触摸屏&#xff08;GT911&#xff09; 初始化代码 /** brief GT911 初始化程序* param None* retval None*/ void GT911_init() {Dev_Now.GT911_RST0;GPIO_InitTypeDef GPIO_InitStruct;GPIO_InitStruct.Pin GT911_RST_PIN | GT911_INT_PIN;…

v3S驱动gt911触摸

文章目录 一、修改设备树二、编写驱动三、运行测试四、编译进内核1. 拷贝文件2. 修改对应的 Makefile3. 编译运行4.测试1.注释掉坐标信息 五、移植tslib1. buildroot配置tslib2. 配置tslib3. 测试 一、修改设备树 在sun8i-v3s-licheepi-zero-dock.dts中添加pio节点&#xff08…

gt911多点触摸实验

文章目录 一、设备树二、驱动程序三、测试四、编译进内核1. 拷贝文件2. 修改对应的 Makefile3. 编译运行4.测试 一、设备树 记得注释掉共用的引脚&#xff08;有好几处&#xff09; 在pinctrl_tsc节点下添加&#xff1a; pinctrl_tsc: tscgrp {fsl,pins <MX6UL_PAD_GPIO1_…

野火STM32F103驱动GT911触摸芯片

GT911触摸芯片 芯片介绍 GT911 是专为 7”~8”设计的新一代 5 点电容触控方案&#xff0c;拥有 26 个驱动通道和 14 个感 应通道&#xff0c;以满足更高的 touch 精度要求。 GT911 可同时识别 5 个触摸点位的实时准确位置&#xff0c;移动轨迹及触摸面积。并可根据主控需要&…

电容触摸屏控制芯片GT911

1.接口说明 GT9 非单层多点系列&#xff08;以下简称 GT9 系列&#xff09; 与主机接口共有 6 PIN&#xff0c;分别为&#xff1a; VDD、 GND、 SCL、SDA、 INT、 RESET。 主控的 INT 口线需具有上升沿或下降沿中断触发功能&#xff0c;并且当其在输入态时&#xff0c; 主控端必…

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

一、介绍与硬件连接 GT911、GT928、GT9147都属于GT9系列非单层多点触控芯片&#xff0c;他们支持的触控点数不同&#xff08;GT928支持10个点、GT911支持5个点&#xff09;、驱动和感应通道也可能不同。可是他们的寄存器和IIC通讯时序是相同的&#xff0c;也就是说驱动程序是兼…

29-2-电容触摸屏控制芯片GT911

1.接口说明 GT9 非单层多点系列&#xff08;以下简称 GT9 系列&#xff09; 与主机接口共有 6 PIN&#xff0c;分别为&#xff1a; VDD、 GND、 SCL、SDA、 INT、 RESET。 主控的 INT 口线需具有上升沿或下降沿中断触发功能&#xff0c;并且当其在输入态时&#xff0c; 主控端…

hal编程 gt911 触摸芯片驱动 ( 枚举 结构体 熟用)( 安富莱 f429 4.3寸电容屏 )

使用板子类型以及屏幕类型 本文使用的是安富莱的板子stm32f429, 屏幕是TR433C1的4.3寸TFT显示屏, 480*272 RGB接口, 电容触摸 . I2C I2C简介、原理、时序请看这篇文章 使用cubemx工具的stm32用AT24C02实现简单密码(一点点面向对象的思想编程) gt911 gt911简介 gt911是深圳市…

python 倒计时手机app打卡_python 实现倒计时功能(gui界面)

运行效果&#xff1a; 完整源码&#xff1a; ##import library from tkinter import * import time from playsound import playsound ## display window root tk() root.geometry(400x300) root.resizable(0,0) root.config(bg blanched almond) root.title(techvidvan - cou…

桌面美化 Python tkinter倒计时工具

桌面美化 Python tkinter倒计时工具 效果一、壁纸设计二、倒计时小工具实现1.引入库2.倒计时函数3.绘制UI载入数据以及创建窗口创建Label控件控件布局绘制分割线绘制子窗口&#xff0c;用于修改倒计时目标其它设置 完整代码打包并开机自启动打包成EXE开机自启动 效果 使用tkin…

Python 内置模块tkinter —— 秒表计时器

# 秒表计时器""" 思考&#xff1a;1、怎么创建一个最简单的窗口&#xff1f;2、怎么保持窗口一直运行&#xff1f;3、不用方法mainloop&#xff08;&#xff09;怎么实现窗口一直运行&#xff1f;4、请问窗口的宽度*高度默认值为多少个像素点&#xff1f;5、利用…

Python-桌面计时器程序设计

该程序是我个人去年学习之初练习设计&#xff0c;程序功能并没有很完善和简便。设计想法是为了能够有一个可观性高的时间报时器&#xff0c;程序设计耗时2天&#xff0c;程序分成三个部分&#xff1a;主窗体、设置窗口、运行程序。 效果展示图 功能 正/反计时功能 到时提醒/关…

专利的写作

关于专利&#xff0c;由于是研究生阶段&#xff0c;发表专利有和学校合作的机构&#xff0c;支付2000给代理人&#xff0c;只需要将想法写明白&#xff0c;和代理人沟通好&#xff0c;受理那必然是有手就行。关于研究点&#xff0c;我已经推导完毕两个月了&#xff0c;因为要做…

手把手教你如何写专利申请书

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。众所周知&#xff0c;专利是最重要的一种知识产权&#xff0c;专利制度有利于保护技术创新&#xff0c;保护专利权人的利益&#xff0c;促进社会发展&#xff0c;把我国建设成一个科技强国&#xff0c;创新大国。对于企业而…

实用新型专利撰写

文件下载 表格可在国家知识产权网下载 直达地址 说明书摘要 1、文件写法 本实用新型公开了&#xff0c;其特征在于&#xff1a;______。主要组成部分&#xff1b;主要组成部分又由哪些部分组成&#xff1b;并说明位置关系&#xff08;位于xxx一侧&#xff0c;位于顶角处…&…