GT911调试的那些梗
环境:基于公司的电路板。模拟板+数字板(zynq)+GT911触摸屏
梗1:搭建好环境后,通过数字版的zynq中的PL的EMIO映射出了4跟管脚,INT,RESET,SDA,SCL。用示波器抓取INT和RESET的上电时序,发现没有输出。半天后,发现,示波器有问题,用万用表可以测到电平变化。
梗2:发现RST一直为低,(gt911 复位低)。经查:由于电路上没有给RTS拉上拉电阻。
梗3:I2C没有输出,确认映射好管脚等。经查:模拟板有问题,数字板上的PL管脚是引入到模拟板上, 后才和GT911连接。但是模拟板有问题,所以没有输出。
梗4:换模拟板后,I2c控制信号正常,但是时钟闲置为低,并且I2C没有设备响应。经查:由于数字板有问题,并且在FPGA内部对I2C管脚重新映射的时候没有做内上拉,导致时钟有问题。
梗5:在数字板和模拟板都换后,发现触摸屏还是没有响应。但是同样挂在在I2C0控制器下的RTC可以正常响应并且通信,并且对比RET和INI的上电时序是正常的。后抱着试下的心态,将触摸屏换了,后,可以正常通信。中断等正常。原来之前调试用的屏幕是GT811的,最后换的才是911的屏。到处是坑。
问题总结:调试环境问题。EMIO映射问题。
测试代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
#include <signal.h>
#include <limits.h>
#include <termios.h>
#include <errno.h>
#include <linux/input.h>
#define TOUCHKEY_TAG "TouchkeyDemo"
#define TOUCHKEY_FILE "/dev/input/event0"
int main(int argc, char **argv)
{
int nFd;
int nRet;
struct input_event *sInputEvent;
sInputEvent = malloc(sizeof(struct input_event));
nFd = open(TOUCHKEY_FILE, O_RDWR);
if(nFd < 0)
{
printf("fail ");
return -1;
}
else
{
printf("success \n");
}
memset(sInputEvent, 0, sizeof(struct input_event));
while(1)
{
nRet = read(nFd, sInputEvent, sizeof(struct input_event));
if(nRet < 0)
{
printf("read error ");
return nRet;
}
printf("type: 0x%x ", sInputEvent->type);
printf("code: 0x%x ", sInputEvent->code);
printf("value: %d\n", sInputEvent->value);
/*printf("value: 0x%x\n", sInputEvent->value);*/
}
free(sInputEvent);
close(nFd);
return 0;
}
使用:使用QT的tslib和多点触摸使用。
GT911调试的那些梗相关推荐
- 基于HI3516DV300平台GT911触摸屏调试
最近有一个项目需要在HI3516DV300平台调通GT911触摸屏,调试前同事已经给了一份能正常跑起来的驱动,虽说能读到相关坐标信息,但是由于没有接入标准的linux输入设备接口,所以在应用时有困难. ...
- 【RV1126】调试GT911,1024x600 7寸 MIPI 电容触摸屏
文章目录 一.驱动注册失败 二.触摸屏可以触摸,但是x轴数据反了 三.可以触摸了,但是Y轴数据跳变,几乎只有一半的屏幕是可以正常滑动的 三.汇顶触摸屏配置文件解析 四.使用新的配置文件 4.1 新配置 ...
- 基于瑞芯微RV1109 Linux触摸屏GT911驱动调试心得(二)-设备树刷厂商给的触摸屏固件...
之前调试触摸屏的文章如下: 基于瑞芯微RV1109 Linux触摸屏GT911驱动调试心得_Bruce.yang的嵌入式之旅-CSDN博客 由于之前调触摸屏一直都对不上点,然后厂商又给了我新的驱动代码 ...
- 移植openharmony之调试gt911触摸
最近在调试触摸驱动,分析了一点openharmony的hdf框架下的触摸,将过程记录下,首先肯定是加载input设备管理驱动:input设备管理驱动由HDF驱动加载,完成设备manager的创建并对其 ...
- RK3399驱动开发 | 06 - GT911触摸屏驱动调试及驱动浅析(Linux 5.4内核)
更新内容 更新时间 完成初稿 2022-09-21 文章目录 一.GT911 1. 触摸芯片 2. 原理图 二.驱动调试 1. 测试gt911是否正常通信 2. 添加驱动 3. 添加设备树描述 4. ...
- RK3399驱动开发 | 07 - GT911触摸屏驱动调试及问题分析解决(基于RK SDK Linux 4.4.194内核)
更新内容 更新时间 完成初稿 2022-09-21 文章目录 一.GT911 1. 触摸芯片 2. 原理图 二.驱动调试 1. 测试gt911是否正常通信 2. 添加驱动 3. 添加设备树描述 4. ...
- tinker board 2s开发板 gt911 触摸屏调试记录
内核配置 : CONFIG_TOUCHSCREEN_GT9XX 默认是开启的. 设备树如下: gt9xx: gt9xx@14 {compatible = "goodix,gt9xx" ...
- [RK3568 Android12] GT911触摸屏调试
屏幕规格书 需要主要硬件通信电压为:1.8V或者3.3V I2C通信的地址:0x5D 和0x40 系统上电时序:不同的地址,稍微有些差异 对应代码中如下:
- [RK3568 Android11] 开发之GT911触摸屏调试
目录 前言 一.config打开GT9XX配置 二.配置设备树dts 三.中断GPIO申请失败
最新文章
- base64 解码
- 新一代人工智能白皮书(2020年) ——产业智能化升级
- mysql 聚簇索引和非聚簇索引_聚簇索引和非聚簇索引
- SQL Server 2005系列教学(14) 用户管理
- Vista中使用率最高的11条命令
- python空元组在all中返回结果详解
- python keras_深度学习:基于Keras的Python实践
- 带你自学Python系列(十三):Python函数的用法(三)
- 单例设计模式 序列化破坏单例模式原理解析及解决方案?
- 敏捷开发_敏捷开发和迭代开发的异同分析
- Wi-FiR CC3000 模块
- 【毕业求职季】-听说你想去大厂看学妹,带你看看字节广告运营岗面试长啥样?
- 开发一个 app 有多难?
- 2007年五一通过了驾驶证考试(5/7,5/8)
- Android verified boot 2.0 vbmeta 数据结构解析
- azure mysql数据库_Azure上创建MySql数据库服务
- Mac系统 - zsh所有命令失效解决方式
- 声音侦测灵敏度、阈值、分贝的关系
- Puppeteer通过evaluate执行脚本获取cookie
- 实现轮播图,仅需3步
热门文章
- Python 把视频切割成一帧帧的图片
- 2021上海益生产品(益生菌)展告知您吃益生菌多久才有效?
- homeassistant中hacs网络不稳定导致插件不能下载的解决办法
- 【Vim】IdeaVim高级玩法之EasyMotion插件
- shader Blend混合模式讲解
- 【转】看到一些百度网盘上不错的资源
- C语言初探 之 printf压栈顺序(printf(%d %d %d %d %d %d\n,a++, ++a, a++, ++a, a++, ++a ))
- 【WY】数据处理 — Python 阶段一 :基础语法 六 —— 数学建模:介绍
- C++ cin的使用,看这一篇就够了
- 最大子序列求和_最大子序列和问题 一步一步到最优