第三十六章 AT32F403A基于V2库 驱动lcd屏的GT911触摸功能

目录

概述

硬件

软件

Gt911驱动:

        iic初始化:

        gt911设备地址:

        gt911读/写寄存器:

         读取设备id

         检测固件版本

读取触摸数据

测试

        测试代码

        测试结果

最后


概述

         本文主要是使用AT32F403A开发板,基于V2库实现驱动lcd屏的gt911触功能。

         串口工具使用的Atlink-ez自带的串口功能.

         工程建立、调试工具配置在前面章节有详细介绍。

硬件

         硬件方面使用的是参考官方AT32F437 SURF板子而设计的一个AT32F403A开发板,板子上的芯片是AT32F403AVGT7的型号,开发板上面还板载了一个atlink-ez的仿真器,atlink-ez除了可以在线仿真和下载之外还有一个串口的功能,硬件上是通过跳线帽接到了MCU的串口1,pa9/10上面。

        如下图是开发板pcb图,以及硬件资源。(左边上角的就是atlink-ez,用usb线接到pc即可):

         如下为实物图:

         本章是LCD屏的触摸功能,LCD的驱动芯片是ILI9488,尺寸为3.5寸,分辨率为320*480,触摸控制芯片为gt911并通过iic通信,相关原理图如下:

软件

        点亮LCD屏的相关内容在上一章,本章是基于上一章中已经点亮了LCD 屏幕的基础上进行的。

         本章使用的LCD模块的触摸IC是gt911,gt911支持5个点的触摸,并且通过iic来通信。

         本文使用硬件iic1来驱动gt911触摸ic,硬件iic的使用比较简单,官方在i2c_application.c里面封装了常用的函数提供使用,我们要做的就是iic1底层的初始化,以及gt911的驱动。

Gt911驱动:

        iic初始化:

                使用的iic1,并且io重映射到pb8,pb9。

        gt911设备地址:

                gt911的iic设备地址,是通过拉复位脚和中断脚来设定的,这次测试使用PE3/4接到gt911的int和rst,同时设置gt911的iic设备地址为0x28/29,也就是0x28或者0x29都可以。

                具体时序如下图。

                代码如下:

        gt911读/写寄存器:

                这里我们需要注意的是gt911寄存器的地址是16bit的,所以iic去读写的时候,地址要设置为16宽度。

                具体代码如下:

         读取设备id

                通过读取id寄存器,读出id。

                代码如下:

         检测固件版本

                   检查固件版本,如果版本低,则把新的配置参数设定到芯片闪存里面。

                   代码如下:

读取触摸数据

         当有触摸后,芯片的INT脚会拉高,此时就可以去读取状态寄存器,来知道有多少个触控点,以及buf是否可以读取,都正常后就去读取触控点的数据寄存器,读取出x和y轴的数据,都是16bit,分为高8八位和低八位。

         代码如下:

测试

        测试代码

        有触摸后读取触控的数据,并把数据通过LCD显示出来。

        测试结果

        在屏幕上触摸,或者滑动的时候,LCD显示的数据也对应的跟着变动,测试通过。

最后

        有问题的可以加QQ群技术交流,同时相关代码上传到QQ群中。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值