# 第20章 Cortex-M4-触摸屏

第20章 Cortex-M4-触摸屏

20.1 触摸屏概述

20.1.1 常见的触摸屏分类

电阻式触摸屏、电容式触摸屏、红外式触摸屏、表面声波触摸屏

市场上用的最多的是电阻式触摸屏与电容式触摸屏。红外管式触摸屏多用于投影仪配套设备。

电阻式触摸屏构成:整个屏由均匀电阻构成,分为两层。原理:当屏幕按下时,电阻发生变化。

​ 优缺点:

​ 优点:抗干扰能力强,能够防尘、防油,成本相对较低。

​ 缺点:灵敏度相对较低,构成需要一块玻璃屏作为支撑,屏的厚度大。

电容式触摸屏构成:整个屏由均匀电容构成。原理:当触摸屏到屏的时候,屏相应位置的电容会发生变化。

​ 优缺点:

​ 优点:灵敏度高,屏幕薄。

​ 缺点:抗干扰能力不是很强,成本相对较高。

20.1.2 电阻式触摸屏测量原理

img

img

img

img

当要测量X方向的坐标时,X+接VCC,X-接GND,Y+接ADCx.

当要测量Y方向的坐标时,Y+接VCC,Y-接GND,X+接ADCy.

20.2 触摸屏驱动芯片概述

20.2.1 触摸屏驱动芯片介绍

触摸屏驱动芯片名称:XPT2046。

img

img

20.2.2 管脚说明

img

DIN:串行数据输入管脚

DOUT:串行数据输出管脚

DCLK:串行时钟线

PENIRQ:笔中断信号管脚,当触摸屏被触摸时就输出低电平,没有触点则输出高电平

CS:片选,低电平有效

BUSY:忙时信号线

20.2.3 工作原理

XPT2046 是一种典型的逐次逼近型模数转换器(SAR ADC),包含了采样/保持、模数转换、串口数据输出等功能。同时芯片集成有一个 2.5V的内部参考电压源、温度检测电路,工作时使用外部时钟。 XPT2046 可以单电源供电,电源电压范围为 2.7V~5.5V。参考电压值直接决定ADC的输入范围,参考电压可以使用内部参考电压,也可以从外部直接输入1V~VCC范围内的参考电压(要求外部参考电压源输出阻抗低)。 X、 Y、 Z、 VBAT、 Temp和AUX模拟信号经过片内的控制寄存器选择后进入ADC, ADC可以配置为单端或差分模式。选择VBAT、 Temp和AUX时可以配置为单端模式;作为触摸屏应用时,可以配置为差分模式,这可有效消除由于驱动开关的寄生电阻及外部的干扰带来的测量误差,提高转换准确度。

作为触摸屏应用,将ADC配置成差分模式。

20.2.4 触摸屏驱动芯片时序

经过前面的分析,我们知道了当在触摸屏上有触点时,触控芯片就会自动启动ADC去转换触点坐标信息,这个过程是不需要我们参与的。所以,我们的主要工作就是等它转换结束后把转换结果读取出来,那么,如何读取,这就需要去分析触控芯片数据传输的时序。

时序:时间部分+顺序部分

顺序部分:

img

时间部分:

img

主控如何发送一位数据给XPT2046?

主控如何读取XPT2046发送的一位数据?

20.2.5 控制字节

20.3 触摸屏驱动实验

731679195203)]

主控如何发送一位数据给XPT2046?

主控如何读取XPT2046发送的一位数据?

20.2.5 控制字节

20.3 触摸屏驱动实验

20.4 触摸屏校正

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/16987.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

Selenium自动化测试

片头 嗨~小伙伴们,今天,我们来开启新的篇章---Selenium自动化测试,准备好了吗?咱们开始咯! 一、自动化测试 指通过专门的软件工具和脚本来执行测试任务,而不需要人工干预。它可以自动执行各种测试任务&am…

下一代以区域为导向的电子/电气架构

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 所有人的看法和评价都是暂时的,只有自己的经历是伴随一生的,几乎所有的担忧和畏惧…

RH850-F1KMS1 DMA数据转移

DMA简介 随着汽车电子系统和工业自动化的需求不断增长,DMA(Direct Memory Access,直接内存访问)技术在提高数据传输效率方面扮演着重要角色。在本篇文章中,我们将探讨RH850微控制器如何高效实现DMA传输,以…

MOSFET电路栅源极GS之间并联电容后,MOS炸管原因分析

1、前言 在介绍,在进行MOSFET相关的电路设计时,可能会遇到MOSFET误导通的问题,为了解决此问题,我们提出了两种方法,一种是增大MOSFET栅极串联电阻的阻值,另外一种是在MOSFET栅-源极之间并联一个电容&#…

Keil uvision的edition

0 Preface/Foreword 0.1 参考网址 https://zhuanlan.zhihu.com/p/456069876 1 Keil版本介绍 版本介绍: Keil Lite(免费版):最多32KB代码,无法使用中间件Keil Essential(基础版):没…

I/O文件:文件的关闭

int fclose(FILE *stream); 成功关闭返回1,关闭失败返回EOF即-1,并设置errno。 流关闭时自动刷新缓冲中的数据并释放缓冲区 当一个程序正常终止时,所有打开的流都会被关闭 流一旦关闭就不能执行任何操作。 运行结果: 若未成功打…

联邦学习的未来:深入剖析FedAvg算法与数据不均衡的解决之道

引言 随着数据隐私和数据安全法规的不断加强,传统的集中式机器学习方法受到越来越多的限制。为了在分布式数据场景中高效训练模型,同时保护用户数据隐私,联邦学习(Federated Learning, FL)应运而生。它允许多个参与方…

深入理解Flutter生命周期函数之StatefulWidget(一)

目录 前言 1.为什么需要生命周期函数 2.开发过程中常用的生命周期函数 1.initState() 2.didChangeDependencies() 3.build() 4.didUpdateWidget() 5.setState() 6.deactivate() 7.dispose() 3.Flutter生命周期总结 1.调用顺序 2.函数调用时机以及主要作用 4.生…

LoFTR: Detector-Free Local Feature Matching with Transformers

LoFTR: Detector-Free Local Feature Matching with Transformers 整体概括 Loftr特征点匹配算法与传统的特征点匹配算法的优势: 不需要先得到特征点,这也就解决了第一个问题End2End的方式,用起来比较方便,效果也更好 整体流程的…

免押租赁系统的优势与应用前景分析

内容概要 免押租赁系统是一种新兴的租赁形式,它利用了信用大数据与区块链技术的优势,帮助用户摆脱了传统租赁中常见的押金烦恼。通过这种方式,用户不仅可以体验到更低的租用门槛,还能享受到更顺畅的交易过程。用户只需提供基本的…

「Qt Widget中文示例指南」如何创建一个窗口标志?(二)

Qt 是目前最先进、最完整的跨平台C开发工具。它不仅完全实现了一次编写,所有平台无差别运行,更提供了几乎所有开发过程中需要用到的工具。如今,Qt已被运用于超过70个行业、数千家企业,支持数百万设备及应用。 窗口标志要么是类型…

(附项目源码)Java开发语言,211 springboot 在线问诊系统的设计与实现,计算机毕设程序开发+文案(LW+PPT)

摘 要 针对医院门诊等问题,对在线问诊进行研究分析,然后开发设计出在线问诊系统以解决问题。在线问诊系统主要功能模块包括首页、轮播图管理、公告信息管理、资源管理、系统用户管理(管理员、患者用户、医生用户)、模块管理&#…

Vulnhub靶场 Billu_b0x 练习

目录 0x00 准备0x01 主机信息收集0x02 站点信息收集0x03 漏洞查找与利用1. 文件包含2. SQL注入3. 文件上传4. 反弹shell5. 提权(思路1:ssh)6. 提权(思路2:内核)7. 补充 0x04 总结 0x00 准备 下载链接&#…

Linux应用层学习——Day2(文件IO)

fopen #include <stdio.h>int main(int argc,char const *argv[]) {// FILE *fopen (const char *__restrict __filename&#xff1a;字符串要打开的文件名称,// const char *__restrict __modes&#xff1a;打开的模式// 1) r&#xff1a;只读模式&#xff0c;如果…

Java并发篇--ReentrantLock原理

ReentrantLock原理 非公平锁实现原理 加锁解锁流程 先从构造器开始看,默认为非公平锁 public ReentrantLock() {sync new NonfairSync(); }NonfairSync 继承自 AQS 没有竞争时 第一个竞争出现时 Thread-1执行了 1.CAS尝试将state由0改为1,结果失败 2.进入tryAcquire逻辑…

分析http话术异常挂断原因

用户反馈在与机器人通话时&#xff0c;自己明明有说话&#xff0c;但是通话还是被挂断了&#xff0c;想知道原因。 分析日志 我们根据用户提供的freeswitch日志分析&#xff1a;发现是因为超时导致话术执行hangup动作&#xff0c;结束了通话。 从这一行向上分析日志&#xff…

【Pikachu】PHP反序列化RCE实战

痛是你活着的证明 1.PHP反序列化概述 在理解 PHP 中 serialize() 和 unserialize() 这两个函数的工作原理之前&#xff0c;我们需要先了解它们各自的功能及其潜在的安全隐患。接下来&#xff0c;我会对相关概念做更详细的扩展解释。 1. 序列化 serialize() 序列化&#xff…

零基础Java第十八期:图书管理系统

目录 一、package book 1.1. Book 1.2. BookList 二、package user 2.1. User 2.2. NormalUser与AdminiUser 三、Main 四、NormalUser与AdminiUser的菜单界面 五、package operation 5.1. 设计管理员菜单 六、业务逻辑 七、完整代码 今天博主来带大家实现一个…

【每日题解】3239. 最少翻转次数使二进制矩阵回文 I

给你一个 m x n 的二进制矩阵 grid 。 如果矩阵中一行或者一列从前往后与从后往前读是一样的&#xff0c;那么我们称这一行或者这一列是 回文 的。 你可以将 grid 中任意格子的值 翻转 &#xff0c;也就是将格子里的值从 0 变成 1 &#xff0c;或者从 1 变成 0 。 请你返回 …

vue面试题9|[2024-11-15]

问题1&#xff1a;scoped原理 1.作用&#xff1a;让样式在本组件中生效&#xff0c;不影响其他组件 2.原理&#xff1a;给节点新增自定义属性&#xff0c;然后css根据属性选择器添加样式。 问题2&#xff1a;让css只在当前组件生效 <style scoped> 问题3&#xff1a;scss…