多点电容触摸屏基础知识

 
多点触摸,不需要按下
电容触摸屏需要一个IC驱动控制的,一般是I2C接口,多点触摸屏驱动最终就是一个I2C外设驱动
 
原理图如下:
0
CT_INT:触摸中断线,连接到了GPIO01_IO09
I2C2_SCL:连接到了UART5_TXD
I2C2_SDA:连接到了UART_RXD
CT_RST:连接到了SNVS_TAMPER9
 
电容触摸芯片输出的数模点坐标信息为对应的屏幕像素点信息,不需要校准。电阻屏需要校准
 
FT5426电容触摸屏介绍:
1、IIC接口,最大400KHZ
2、正点原子7寸屏幕FT5426的IIC地址为0x38
3、需要用到的寄存器
DEVICE_MODE 0x0,需要设置为0x0,表示正常运行模式
ID_G_LIB_VERSION_H以及ID_G_LIB_VERSION_L 0xa1和0xa2,表示固件版本号
ID_G_MODE 0xa4,设置为1,表示中断方式上报触摸信息
TD_STATUS 0x2,当前触摸点的个数,1-5
TOUCH1_XH 0x3开始记录触摸屏的触摸点坐标信息一个触摸点6个寄存器,一共需要5x6 = 30个寄存器,一直读取到0x20
 
一个触摸点坐标信息用12bit表示,其中H的bit[3:0]这4个bit为高8位,L寄存器的bit[7:0]为低8位
对于XH寄存器,bit[7:6]表示事件
YH寄存器的bit[7:4]表示触摸ID
 
裸驱编写流程:
1、设置pinmux,设置gpio中断
2、设置中断处理函数,在中断处理函数中通过i2c读取坐标值的相关寄存器
 
 
posted @ 2024-03-19 22:28  lethe1203  阅读(34)  评论(0编辑  收藏  举报