STM32触摸屏的使用

一、触摸屏分类   

 触摸屏又称触控面板,它是一种把触摸位置转化成坐标数据的输入设备,根据触摸屏的检测原
理,主要分为电阻式触摸屏和电容式触摸屏。相对来说,电阻屏造价便宜,能适应较恶劣的环境,
但它只支持单点触控 (一次只能检测面板上的一个触摸位置),触摸时需要一定的压力,使用久了
容易造成表面磨损,影响寿命;而电容屏具有支持多点触控、检测精度高的特点,电容屏通过与
导电物体产生的电容效应来检测触摸动作,只能感应导电物体的触摸,湿度较大或屏幕表面有水
珠时会影响电容屏的检测效果。

二、电阻触摸屏检测原理

电阻触摸屏主要由2层透明的电阻层组成,两个电阻涂层的两端分别引出 X-、 X+、 Y-、 Y+ 四个电极,当触摸屏被按下时,两个电阻层相互接触,从触点处把电阻层分为两个电阻,且由于电阻层均匀导电,两个电阻的大小与触点离两电极的距离成比例关系,利用这个特性,可通过以下过程来检测坐标,这也正是电阻触摸屏名称的由来。

通过分别给X轴和Y轴的接口通电并检测电压,就能计算出触点的位置。

三、电容触摸屏检测原理

与电阻式触摸屏不同,电容式触摸屏不需要通过压力使触点变形,再通过触点处电压值来检测坐标,它的基本原理和前面定时器章节中介绍的电容按键类似,都是利用充电时间检测电容大小,从而通过检测出电容值的变化来获知触摸信号。

X 轴电极与 Y 轴电极在交叉处形成电容,即这两组电极构成了电容的两极,这样的结构覆盖了整个电容屏,每个电容单元在触摸屏中都有其特定的物理位置,即电容的位置就是它在触摸屏的XY 坐标。检测触摸的坐标时,第 1 条 X 轴的电极发出激励信号,而所有 Y 轴的电极同时接收信号,通过检测充电时间可检测出各个 Y 轴与第 1 条 X 轴相交的各个互电容的大小,各个 X 轴依次发出激励信号,重复上述步骤,即可得到整个触摸屏二维平面的所有电容大小。当手指接近时,会导致局部电容改变,根据得到的触摸屏电容量变化的二维数据表,可以得知每个触摸点的坐标,因此电容触摸屏支持多点触控。

四、电容触摸屏的驱动

电容屏的坐标检测比电阻屏的要复杂,因而它也有专用芯片用于检测过程,下面我们以本章重点讲述的电容屏使用的触控芯片 GT9157 为例进行讲解,关于它的详细说明可从《gt91x编程指南》和《电容触控芯片 GT9157》文档了解。

GT9157的芯片引脚如下:

五、MCU读取触摸坐标

MCU通过IIC接口和触摸屏进行通信,IIC和串口一样,是一种串行传输方式,IIC是一种总线传输方式,可以在上边同时连接多个设备,但是同一时间只能和一个设备通信。

因为IIC总线能连接多个设备的缘故,所以IIC读写时要先发送想要通信的设备的地址,双方建立连接后才能进一步通信。

这个模块的接口如下图所示:

使用时先调用I2C_Touch_Init()函数进行引脚等初始化,接着就可以使用发送或者读取函数进行数据交互了,至于要发送的数据是什么,由其他模块决定,bsp_i2c_touch模块被称为传输驱动文件,它只提供数据的收发,并不管传输的是什么数据。

2.添加触摸屏驱动

六、电容触摸屏的使用

1.初始化触摸屏  GTP_Init_Panel();

2.获取触摸屏触摸状态。触摸屏被按下是随机的,当被按下时会产生一个中断信号,根据这个中断信号再去读取触摸屏,就能知道是哪个地方被按下了。

3.获取触摸操作及坐标

以上操作完成就能实现stm32电容触摸屏的使用了。

  • 7
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值