STM32学习笔记---触摸屏
一、触摸屏简介
1、触摸屏
~~~~~~~ 又称触控面板,它是一种把触摸位置转化成坐标数据的输入设备,根据触摸屏的检测原理,主要分为电阻式触摸屏和电容式触摸屏。
- 电阻触摸屏
电阻屏造价便宜,能适应较恶劣的环境,但它只支持单点触控(一次只能检测面板上的一个触摸位置),触摸时需要一定的压力,使用久了容易造成表面磨损,影响寿命; - 电容触摸屏
具有支持多点触控、检测精度高的特点,电容屏通过与导电物体产生的电容效应来检测触摸动作,只能感应导电物体的触摸,湿度较大或屏幕表面有水珠时会影响电容屏的检测效果。
目前电容式触摸屏被大部分应用在智能手机、平板电脑等电子设备中,而在汽车导航、工控机等设备中电阻式触摸屏仍占主流。
触摸屏实际上是在液晶屏上面贴了一层大小相等的薄膜,这个薄膜能够感知触碰,根据薄膜反馈的触摸位置,我们就能知道用户触碰在屏幕的什么位地方了。
2、电阻触摸屏检测原理
电阻式的触摸屏结构如右图,它主要由表面硬涂层、两个ITO层、间隔点以及玻璃底层构成,这些结构层都是透明的,整个触摸屏覆盖在液晶面板上,透过触摸屏可看到液晶面板。表面涂层起到保护作用,玻璃底层起承载的作用,而两个ITO层是触摸屏的关键结构,它们是涂有铟锡金属氧化物的导电层。两个ITO层之间使用间隔点使两层分开,当触摸屏表面受到压力时,表面弯曲使得上层ITO与下层ITO接触,在触点处连通电路。
两个ITO涂层的两端分别引出X-、X+、Y-、Y+四个电极,这是电阻屏最常见的四线结构,通过这些电极,外部电路向这两个涂层可以施加匀强电场或检测电压。
3、电容触摸屏检测原理
与电阻式触摸屏不同,电容式触摸屏不需要通过压力使触点变形。它的基本原理是利用充电时间检测电容大小,若手指触摸屏幕,会影响触摸点附近两个电极之间的耦合,从而改变两个电极之间的电容量,若检测到某电容的电容量发生了改变,即可获知该电容处有触摸动作从而通过检测出电容值的变化来获知触摸信号。
4、电阻触摸屏的校准
触摸屏的校准: 确定位置和对应的电压值之间的比例关系
X0 = xfacADC_X + xoff;
Y0 = yfacADC_Y + yoff;
5、触摸控制芯片XPT2406
二、触摸屏操作实例讲解
1、XPT2046命令字(控制字节)
中断后收到信号,应该去读对应点的电压值。首先通过cmd命令方式,告诉XPT需要返回什么值。
- 触摸控制芯片XPT2406
2、CubeMx配置
2.1、lcd屏设置
2.2、触控芯片串口设置
2.3、片选配置
2.4、串口配置
2.5、时钟配置
2.6、SPI2参数设置
2.7、中断配置
3、代码详解
3.1、触屏代码函数
3.2、发送命令函数
发送数据,接受返回
3.3、片选函数
3.4、读取XY轴电压数值
读取两次,判断误差是否太大,能否使用
3.5、坐标值转换
STM32学习笔记---触摸屏相关推荐
- stm32学习笔记----双串口同时打开时的printf()问题
stm32学习笔记----双串口同时打开时的printf()问题 最近因为要使用串口2外接PN532芯片实现通信,另一方面,要使用串口1来将一些提示信息输出到上位机,于是重定义了printf(),使其 ...
- STM32学习笔记 | 引起电源和系统异常复位的原因
关注+星标公众号,不错过精彩内容 每一块处理器都有复位的功能,不同处理器复位的类型可能有差异,引起复位的原因也可能有多种. STM32的复位功能非常强大,可通过软件.硬件和一些事件触发系统复位,而且通 ...
- 《STM32学习笔记》4——核心功能电路与编程(下)
接上文,文中的图片,大多数来自视频的截图(来自洋桃电子). 欢迎大家批评指正! STM32学习笔记-专栏 文章目录 一.蜂鸣器驱动 1.蜂鸣器介绍 2.蜂鸣器电路 3.蜂鸣器程序 二. MIDI 音乐 ...
- 【STM32学习笔记-点亮LED灯】
STM32学习笔记-点亮LED灯 文章目录 STM32学习笔记-点亮LED灯 一.原理图分析 二.代码分析 1.mian函数 2.led.c函数 3.led.h函数 4.函数文件整理 5.LED_In ...
- STM32学习笔记(四)丨TIM定时器及其应用(定时中断、内外时钟源选择)
本篇文章包含的内容 一.TIM 定时器 1.1 TIM 定时器简介 1.2 TIM 定时器类型及其工作原理简介 1.2.1 基本定时器工作原理及其结构 1.2.2 通用定时器工作原理及其结构 1.2. ...
- STM32学习笔记(六)丨TIM定时器及其应用(输入捕获丨测量PWM波形的频率和占空比)
本篇文章包含的内容 一.输入捕获 1.1 输入捕获简介 1.2 输入捕获通道的工作原理 1.3 输入捕获的主从触发模式 1.4 输入捕获和PWMI结构 二.频率的测量方法 2.1 测频法 2.2 测周 ...
- STM32学习笔记(15)——SPI协议
STM32学习笔记(15)--SPI协议 一.SPI协议简介 1. 物理层 2. 协议层 (1) 通讯的开始与停止 (2)时钟极性CPOL.时钟相位CPHA 二.STM32的SPI外设 1. 通讯引脚 ...
- crh寄存器_牛人的STM32学习笔记(寄存器版本).doc
牛人的STM32学习笔记(寄存器版本) 一.GPIO口的配置 STM32的DGPIO口最多可以有7组(GPIOa~GPIOg),而每一组GPIO口均有16个双向IO组成.并且没个IO口均可配置成8种模 ...
- STM32学习笔记(13)——模数转换ADC
这个月一直忙于准备考试,已经考完一半科目了,偷闲写了这篇文章.因为还没考完试,估计还得咕一段时间了. STM32学习笔记(13)--模数转换ADC 第一部分:ADC功能框图 一.输入电压 二.输入通道 ...
最新文章
- 【组队学习】【31期】 吃瓜教程——西瓜书+南瓜书
- 【Java Web开发指南】Mybatis一对多关联映射
- Node.js 把图片流送到客户端
- Matlab画图,去掉周围白边
- 微众WeCross 跨链平台(3)交易流程
- 117. Populating Next Right Pointers in Each Node II
- 全国计算机等级考试和职称考试题库,全国职称计算机等级考试题库及答案
- [2]-使用busybox-1.17.2制作文件系统
- Apache FTPClient操作文件上传下载及公共类
- pytorch自定义数据集和数据加载器
- Jquery append 方法在ie8不兼容问题
- k8s高可用集群多个主节点_k8s-高可用集群实现(keepalived)
- Docker学习与总结
- Windows 10 windows 11 如何离线安装NetFx3
- 微信公众平台接口调试工具json格式不对怎么搞_关于测试一个接口的面试题
- (转载)SpringBoot配置Druid数据源监控服务Yml格式
- python文件夹排序笔记
- centos 更新时间
- java汉字转拼音和获取汉语拼音首字母
- jfinal的简单使用(一)
热门文章
- vivo解析包时出现问题解决
- Fuzzy set基本介绍(1)
- 计算机病毒狭义和广义的区别,狭义相对论和广义相对论的区别是什么?
- Using QByteRef with an index pointing outside the valid range of a QByteArray
- 随机数生成方法总计(附代码
- Structure of a Google Docs document 谷歌文档的结构
- [代码人生][分享]SQl语句学习专题
- 费解的开关 (蓝桥杯倒计时12天)
- 使用flex让父盒子内子盒子自适应宽度
- Android MVP详解