转载请注明出处 !!
流程:
module_init → i2c 注册 → 驱动注册 → 驱动初始化 → 设备的注册→ 上电(硬件初始化) → 固件下载(软件初始化) → 中断申请 → 结束
TP 无触摸分析:
-
TP 无触摸的现象: 主要变现为触摸 TP 无反应,或者一部分区域无反应。
-
TP 无触摸的分类 由于触摸 TP 无反应有很多原因,有可能是没有中断,也有可能是有中断但 是不能准确触摸,所以 TP 无反应主要分为两种:
1、有中断性质;2、无中断性质;
-
TP 无触摸的确认 TP 无触摸的可以通过 adb信息查看:1、adb shell cat proc/kmsg2、adb shell getevent
-
导致没有中断的原因
软件方面的原因:
-
① 中断的模式,中断引脚是否正确 ----- 中断引脚一般出现问题的 概率性很大
-
② TP 的固件是否正确 ---- 即.h 有没有下载正确,主要的办法就是将 (3.0)里的数据打印出来跟正确测试 OK 的.h 对比来判断。
-
③ I2C 是否能正常通讯 ---- 没有中断很多原因都是 i2c 不通导致,所 以优先考虑
- I2C 不通:如何判断驱动 i2c 是否通讯成功?
-
1、硬件方面:用示波器查看波形,测试每个 GPIO 的电压。 1/每个 GPIO 的电压:VCC 电压 2.8V----3.3V,SDA,SCL 电压 1.8V 或 2.8V,主要是指芯片的 VDDIO 的电压。RST 电压 1.8V 或者 2.8V IRQ 电压 1.8V 或者 2.8V2/ 通过示波器查看 SDA 跟 SCL 的波形
-
2、软件方面:通过读写某些的寄存器,读写的方法主要有两种: 1/ 读 0xfc 或者 0xb0 的值。 2/ 向某个寄存器写入一个数据,然后再将该地址里的数据读出来, 对比读前后两个数据是否相同。
软件方面:
-
1、检查 i2c 是否注册成功 ls sys/bus/i2c/devices/主要是通过 adb shell 来查看,在 sys/bus/i2c/devices/下有没有 1-0040 或 者 0-0040 这个地址,并且在该目录下有我们 i2c 设备的相关信息, if no 则说明i2c 没有注册成功
-
2、GPIO 的配置 i2c 总线的配置
硬件方面:
主要考虑每个 GPIO 的电压 通过万用表可以测试开机后 IC 每个引脚的电压,主要就是 VCC、SDA、 SCL、RST 的电压。这里重点测试 VCC 电压跟 SDA、SCL 电压是否达到要求。
image image image image[图片上传中...(image-887d98-1511600277619-0)]
网友评论