当前位置: 首页 > 产品展示

火博sports

PRODUCTS
×

火博sports【iMX6ULL】驱动开发12——电容触摸驱动实践

发布时间:2024-04-15 11:35:18 来源:火博体育首页 作者:HB火博APP官网

  本篇使用的是野火的7寸电容触摸屏,分辨率和屏幕一样,800x480。触摸驱动芯片我GT911,是IIC接口的芯片。

  触摸芯片用到IIC通信,还要用到复位引脚和中断引脚,因此需要先在设备树中对引脚信息进行配置。

  注:GT911支持硬件追踪触摸点,因此为每个触摸点提供了一个track id,举个简单的例子,当5个手指依次触摸到屏幕时,5组坐标寄存器中的track id会依次是0、1、2、3、4,

  (理解这个很重要,因为我一开始想当然的误认为,移开第1个手指时,是第1组坐标寄存器没数据了)

  触摸芯片GT911的使用,本质是使用IIC通信,进行数据的读写,因为触摸屏的驱动,实际就是

  中断的处理。在中断时,读取到触摸数据后,要传递到应用层,这里是使用Linux的input子系统(这也是Linux的一种软件分层设计的方式)。所以,编写触摸驱动,主要涉及3点:

  使用Linux内核自代的驱动,还需要进行内核配置。在Linux内核源码目录,输入以下指令打开内核的图形化配置:

  将手指放到屏幕上,就可以在LCD屏幕上看到坐标值的打印,比如将手指放到屏幕左下角,对应输出的值大致就是屏幕的最大位置(800,480):

  GT911支持多点触摸,驱动程序中也对多点数据进行了获取和打印,将多个手指放到屏幕上,可以看到最多有5个触摸点的坐标打印:


火博sports