GD32F3开发进阶教程 课件 ch02触摸屏实验_第1页
GD32F3开发进阶教程 课件 ch02触摸屏实验_第2页
GD32F3开发进阶教程 课件 ch02触摸屏实验_第3页
GD32F3开发进阶教程 课件 ch02触摸屏实验_第4页
GD32F3开发进阶教程 课件 ch02触摸屏实验_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

触摸屏实验“《GD32F3开发进阶教程——基于GD32F303ZET6》第二章01实验内容本章的主要内容是学习GD32F3果派开发板上的触摸屏模块原理图,了解触摸屏检测原理和GT11510芯片的工作原理最后基于开发板上的触摸屏设计一个可同时支持5点触控的手写板,当手指在屏幕上划动时,能够实时显示划动轨迹并通过GUI控件将手指触控的坐标显示在屏幕上,且当多点触控时,每条轨迹将通过不同的颜色表示。实验内容02实验原理触摸屏可分为电阻式触摸屏和电容式触摸屏,两种触摸屏的应用范围与其特点有关。电阻式触摸屏具有精确度高、成本较低和稳定性好等优点,但其缺点是表面易划破、透光性不好且不支持多点触控,通常只应用在一些需要精确控制或对使用环境要求较高的情况下,如工厂车间的工控设备等。与电阻式触摸屏不同,电容式触摸屏支持多点触控、透光性好,且无须校准,广泛应用于智能手机、平板电脑等便携式电子设备中。触摸屏分类1.触摸屏的组成结构投射式触摸屏在结构上主要由3部分组成,如图2-1所示,从上到下分别为保护玻璃、ITO面板和基板。触摸屏的顶部是保护玻璃,为手指直接接触的地方,具有保护内部结构的作用。中间的ITO面板是触摸屏的核心部件,ITO是氧化锡的缩写,它是一种同时具有导电性和透光性的材料。底部的基板在支撑以上结构的同时与ITO面板连接,一起构成触摸检测电路。另外,基板上还带有与触摸屏控制芯片连接的接口,ITO面板检测到的电平变化能够转换成数据发送到触摸屏控制芯片中进行处理。投射式触摸屏工作原理投射式触摸屏工作原理2.检测手指坐标的原理投按照检测原理可以分为交互电容型和自我电容型两种,交互电容型投射式触摸屏的ITO面板具有特殊结构,为横纵两列菱形交错排列的网状结构(为了区分明显,示意图为黑白双色,实际的ITO面板为透明结构),如图2-2所示。交互电容型投射式触摸屏的ITO面板的XY轴两组电极之间彼此结合组成电容,如图2-2(d)所示。X轴和Y轴的通道数决定了电容触摸屏的精度和分辨率,XY轴之间的电容位置决定了XY的坐标。这一点和自我电容型触摸屏不同,自我电容型触摸屏虽然也有XY轴两组电极,但是彼此之间是与地构成的电容,因此两者检测手指坐标的原理也不同。GD32F3苹果派开发板上板载的触摸屏属于交互电容型投射式触摸屏。投射式触摸屏工作原理投射式触摸屏工作原理锕触摸屏控制芯片的作用为检测ITO面板电极之间电容的变化,从而得到手指按压的具体坐标,同时将这些坐标和状态信息进行编码,并保存在芯片内部相应的寄存器内,供微控制器读取和调用。开发板配套触摸屏使用的控制芯片型号为GT1151Q,触摸扫描频率为120Hz,检测通道有16个驱动通道和29个感应通道,这两种通道分别对应ITO面板的X轴和Y轴电极数,数字越大表示检测坐标的精度越高。GT11510最高支持10点触控。GT1151Q芯片GT1151Q芯片GT1151Q芯片GT1151Q芯片共有58个引脚。GT1151Q芯片GT1151Q常用寄存器010203控制寄存器(0x8040)通过向GT1151Q中的控制寄存器写入不同的值,可以实现相应的操作。配置寄存器(0x8050~0x813B)GT11510共有186个配置寄存器,如表2-3所示,用于设置和保存配置,通常芯片在出厂时已配置完成,实验中不需要进行修改。产品ID寄存器(0x8140)产品ID寄存器共有4个,本实验只用到其中1个,如表2-4所示,直接使用IC总线读取该寄存器即可获得ASCII编码的ID值示。GT1151Q常用寄存器GT1151Q常用寄存器GT1151Q常用寄存器0405状态寄存器(0x814E)状态寄存器用于保存手指触摸状态,即触点数目,如表2-5所示,状态寄存器需要关注Bit7和Bit0~Bit3,Bit7为标志位,当有手指按下时该位为1,注意,此位不会自动清零。坐标寄存器(0x8150、0x8158、0x8160、0x8168、0x8170等)坐标寄存器用于保存触点的坐标数据,GT1151Q芯片共有60个坐标寄存器,每个点的坐标数据分别由6个寄存器保存,最多可同时支持0个触点的坐标数据的保存。X和Y标分别由2个寄存器保存各自的坐标值,其余2个存器用于计算XY坐标的数据大小。GT1151Q常用寄存器GT1151Q常用寄存器03实验代码解析1.GT1151Q.h文件在GT11510h文件的“宏定义”区,定义了8个常量。2.GT1151Q.c文件在GT1151Q.c文件的“内部变量定义”区,定义了1个C结构体。GT1151Q文件对下面按照顺序解释说明IitGT11510函数中的语句。(1)第6行代码:通过ConfigGT11510GPIO函数配置所要使用的GPIO。(2)第12至18行代码:初始化I2C结构体。(3)第24至32行代码:读取片ID并通过口打印。GT1151Q文件对1.Touch.h文件下面按照顺序解释说明其中的语句。(1)第2至7行代码:定了StructTouchPoint结构体,用于存储触摸点的标数据。(2)第10至15行代码:定了StructTouchDev结构体用于存触摸点数和触摸状态。Touch文件对2.Touch.c文件下面按照顺序解释说明InitTouch函数中的语句。(1)第6行代码:通过调用InitGT1151Q函数来初始化触摸控制芯片GT1151Q。(2)第9至16行代码:对触摸设备结体sstructTouchDev的参数进行初始化操作。Touch文件对Canvas.h文件在Canvash文件的“API函数声明”区,声明了2个AP函数。InitCanvas函数用于初始化画布,CanvasTask函数用于创建画布任务。Canvas.c文件在Canvas.c文件的“内部变量定义”区,定义了3个内部静态变量,s_arLineColor用于控制线条颜色,s_arrText用于显示文本,s_pTouchDev用于保存触点数目和触点坐标信息。Canvas文件对下面按照顺序解释说明InitCanvas函数中的语句。(1)第4至5行代码:通过LCDDisplavDir和LCDClear函数设置LCD的显示方式。(2)第8行代码:通过背景绘制函数DisplayBackground显示蓝色背景图片。(3)第11行代码:通过CrateText函数绘制面板中的文本控件,用于显示触摸点的坐标。(4)第14行代码:通过GetTouchDev函数获取触摸屏扫描设备结构体地址,从而获取触点数目和触点坐标。Canvas文件对下面按照顺序解释说明CanvasTask函数中的语句。(1)第11行代码:for循环用于循环检测触点,并在屏幕上画线。(2)第14行代码:判断是否有手指按下,有则将触点的坐标数据通过第20行代码的setText函数显示在坐标显示区。(3)第42至81行代码:通过DrawPoint画点函数画出触摸到的第一个点,当触点坐标变化的时候,通过画线函数DrawLine将前后两个坐标点进行连接。随着手指划动,触点坐标不断变化,重复上述过程即可完成画轨迹操作。Canvas文件对Main.c文件ProclmsTask函数的实现代码如程序清单2-24所示。下载程序并进行复位可以看到GD32F3果

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论