环境:基于公司的电路板。模拟板+数字板(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调试的那些梗相关推荐

  1. 基于HI3516DV300平台GT911触摸屏调试

    最近有一个项目需要在HI3516DV300平台调通GT911触摸屏,调试前同事已经给了一份能正常跑起来的驱动,虽说能读到相关坐标信息,但是由于没有接入标准的linux输入设备接口,所以在应用时有困难. ...

  2. 【RV1126】调试GT911,1024x600 7寸 MIPI 电容触摸屏

    文章目录 一.驱动注册失败 二.触摸屏可以触摸,但是x轴数据反了 三.可以触摸了,但是Y轴数据跳变,几乎只有一半的屏幕是可以正常滑动的 三.汇顶触摸屏配置文件解析 四.使用新的配置文件 4.1 新配置 ...

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

    之前调试触摸屏的文章如下: 基于瑞芯微RV1109 Linux触摸屏GT911驱动调试心得_Bruce.yang的嵌入式之旅-CSDN博客 由于之前调触摸屏一直都对不上点,然后厂商又给了我新的驱动代码 ...

  4. 移植openharmony之调试gt911触摸

    最近在调试触摸驱动,分析了一点openharmony的hdf框架下的触摸,将过程记录下,首先肯定是加载input设备管理驱动:input设备管理驱动由HDF驱动加载,完成设备manager的创建并对其 ...

  5. RK3399驱动开发 | 06 - GT911触摸屏驱动调试及驱动浅析(Linux 5.4内核)

    更新内容 更新时间 完成初稿 2022-09-21 文章目录 一.GT911 1. 触摸芯片 2. 原理图 二.驱动调试 1. 测试gt911是否正常通信 2. 添加驱动 3. 添加设备树描述 4. ...

  6. RK3399驱动开发 | 07 - GT911触摸屏驱动调试及问题分析解决(基于RK SDK Linux 4.4.194内核)

    更新内容 更新时间 完成初稿 2022-09-21 文章目录 一.GT911 1. 触摸芯片 2. 原理图 二.驱动调试 1. 测试gt911是否正常通信 2. 添加驱动 3. 添加设备树描述 4. ...

  7. tinker board 2s开发板 gt911 触摸屏调试记录

    内核配置 : CONFIG_TOUCHSCREEN_GT9XX 默认是开启的. 设备树如下: gt9xx: gt9xx@14 {compatible = "goodix,gt9xx" ...

  8. [RK3568 Android12] GT911触摸屏调试

    屏幕规格书 需要主要硬件通信电压为:1.8V或者3.3V I2C通信的地址:0x5D 和0x40 系统上电时序:不同的地址,稍微有些差异 对应代码中如下:

  9. [RK3568 Android11] 开发之GT911触摸屏调试

    目录 前言 一.config打开GT9XX配置 二.配置设备树dts 三.中断GPIO申请失败

最新文章

  1. base64 解码
  2. 新一代人工智能白皮书(2020年) ——产业智能化升级
  3. mysql 聚簇索引和非聚簇索引_聚簇索引和非聚簇索引
  4. SQL Server 2005系列教学(14) 用户管理
  5. Vista中使用率最高的11条命令
  6. python空元组在all中返回结果详解
  7. python keras_深度学习:基于Keras的Python实践
  8. 带你自学Python系列(十三):Python函数的用法(三)
  9. 单例设计模式 序列化破坏单例模式原理解析及解决方案?
  10. 敏捷开发_敏捷开发和迭代开发的异同分析
  11. Wi-FiR CC3000 模块
  12. 【毕业求职季】-听说你想去大厂看学妹,带你看看字节广告运营岗面试长啥样?
  13. 开发一个 app 有多难?
  14. 2007年五一通过了驾驶证考试(5/7,5/8)
  15. Android verified boot 2.0 vbmeta 数据结构解析
  16. azure mysql数据库_Azure上创建MySql数据库服务
  17. Mac系统 - zsh所有命令失效解决方式
  18. 声音侦测灵敏度、阈值、分贝的关系
  19. Puppeteer通过evaluate执行脚本获取cookie
  20. 实现轮播图,仅需3步

热门文章

  1. Python 把视频切割成一帧帧的图片
  2. 2021上海益生产品(益生菌)展告知您吃益生菌多久才有效?
  3. homeassistant中hacs网络不稳定导致插件不能下载的解决办法
  4. 【Vim】IdeaVim高级玩法之EasyMotion插件
  5. shader Blend混合模式讲解
  6. 【转】看到一些百度网盘上不错的资源
  7. C语言初探 之 printf压栈顺序(printf(%d %d %d %d %d %d\n,a++, ++a, a++, ++a, a++, ++a ))
  8. 【WY】数据处理 — Python 阶段一 :基础语法 六 —— 数学建模:介绍
  9. C++ cin的使用,看这一篇就够了
  10. 最大子序列求和_最大子序列和问题  一步一步到最优