• 28.STM32电阻与电容触摸屏幕


    1.电阻屏与电容屏的区别

    1.电阻屏在触摸时候需要触摸按压,而电容屏只需要轻微的手指触摸就能激活。
    2.电阻屏可以用任何物体来触摸,而电容屏是人体热感应工作原理,只能用手指来触摸。
    3.电容屏支持多点触摸,电阻屏幕一般不能实现多点触摸。
    4.电阻屏内部都是软的,而电容屏硬度大。
    5.电阻屏在阳光下可视性差点,电容屏则非常好,在阳光想可视性非常强。

    2.电容屏

    1.接口
    IIC接口通信,一般有GT9147,OTT2001A,他们与MCU连接通过4根线,SDA,SCL,RST,INT
    2.GT9147电容屏相关寄存器
    1.控制命令寄存器(0x8040)
    写入2,可以软复位
    写入0,可以读取正常读取坐标数据

    2.配置寄存器组(0x8047-0x8100)
    一共186个寄存器,用于配置GT9147的各个参数,这些参数直接使用厂家的。

    3.产品ID寄存器(0x8140-0x8143)
    四个寄存器,保存产品ID,根据产品ID,进行不同初始化。

    4.状态寄存器(0x814e)
    最高位,用于表示是否有数据,有就是一
    低四位,表示有效触摸的点数

    5.坐标数据寄存器
    30个寄存器,分为5组(5个触摸点),每组6个
    以一组为例
    请添加图片描述
    可以读取x,y坐标,和尺寸,我们就可以知道点到了那里
    GT9147写时序
    启动信号,发送从设备地址,等待应答,发送高位寄存器地址,等待应答,发送低位寄存器地址,等待应答,发送数据等待应答,发送停止信号
    请添加图片描述
    GT9147初始化流程
    1.硬复位
    2.结束硬复位
    3.设置IIC地址(设备地址)GT9147地址可以说0x14或0x5dm,INT为高时为0x14。
    4.软复位
    5.更新配置
    6.结束软复位
    工作原理
    1.初始化GT9147之后,我们不停的查询0X814E寄存器,判断是否有触点按下,如果有读取坐标寄存器,得到触点坐标。
    2.有触点按下后,0x814e寄存器最高位为1,必须要置0,等待下一次触摸

    3.电阻屏

    当手指触摸屏幕时,平常绝缘的两层导电层在触摸点位置就有了一个接触,控制器侦测到这个接通后,其中一面导电层接通У轴方向的5Ⅴ均匀电压场,另一导电层将接触点的电压引至控制卡进行A/D转换,得到电压值后与5Ⅴ相比即可得触摸点的у轴坐标,同理得出Χ轴的坐标,这就是所有电阻技术触摸屏共同的最基本原理。
    位置计算
    输出电压=偏移量+斜率*坐标
    请添加图片描述
    校准
    确定电压和坐标之间的函数关系
    电压测量
    需要AD转换芯片获取电压值,
    XPT2046
    XPT2046是一款4导线制触摸屏控制器,内含12位分辨率125KHz转换速率逐步逼近型A/D转换器。XPT2046支持从1.5V到5.25V的低电压I/O接口。XPT2046能通过执行两次A/D转换查出被按的屏幕位置, 除此之外,还可以测量加在触摸屏上的压力。内部自带2.5V参考电压可以作为辅助输入、温度测量和电池监测模式之用,电池监测的电压范围可以从0V到6V。XPT2046片内集成有一个温度传感器。
    简单来说就是计算电阻屏幕的电压的模数转换芯片
    XPT2046芯片引脚
    请添加图片描述
    请添加图片描述

    XPT2046初始化
    请添加图片描述XPT2046指命
    就是
    u8 CMD_RDX=0XD0;//读取X轴坐标命令。
    u8 CMD_RDY=0X90;//读取Y轴坐标命令。
    请添加图片描述

    4.电容屏与电阻屏相关函数

  • 相关阅读:
    羧基修饰的聚苯乙烯微球(红色、橙色、绿色)的产品简介
    通过解析库探究函数式抽象代价 ( ini 解析示例补充)
    springcloud学习笔记:通过openFeign实现微服务接口远程调用
    【杂谈】仿生人会梦见电子羊吗?
    vue-cli创建项目(详情步骤)
    关于浙江22年下半年教师资格证面试报名注册时间
    Python:RSA秘钥生成与加密解密整理
    springboot整合es
    H3C交换机如何查环路
    NGINX配置SSL支持
  • 原文地址:https://blog.csdn.net/qq_54674051/article/details/126997568