• 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.电容屏与电阻屏相关函数

  • 相关阅读:
    google浏览器安装vuejs-devtools插件2022年安装记录
    【校招VIP】java语言考点之并发相关
    python使用numpy中的equal函数比较两个numpy数组中每个位置的元素是否相同、并计算相同元素的比例
    性能优化:JIT即时编译与AOT提前编译
    【云原生】一篇打通架构设计,Java设计模式6,依赖倒置原则
    WebStorm安装教程
    Kotlin作用域函数详解
    数据结构与算法分析】0基础带你学数据结构与算法分析03--队列 (Queue)
    l8-d6 socket套接字及TCP的实现框架
    springboot专利申请服务平台毕业设计源码260839
  • 原文地址:https://blog.csdn.net/qq_54674051/article/details/126997568