touchscreem
<触摸屏种类>
常见
电阻式触摸屏
电容式触摸屏
不常见
红外线技术触摸屏
表面声波触摸屏
适量压力传感触摸屏
<原理分析>
电阻式触摸屏
如图所示,在屏幕的上下和左右加上一个5V电压,将这个5V根据屏幕的长度分成不同的电压值,只要将屏幕的上下接触,就可以检测出该点是电压,然后除以总的电压5V就可以找出其中的比例,这样就可以确定该点的X,Y了。
电容屏:
给工作屏一个很低的电压,手指接触屏幕时,手指将吸收走一步分电流,这个电流将从触模屏 的四个角流出,理论上流经这四个电极的电流与距离成比例,根据这个原理来确定触摸点的X,Y
<驱动程序设计>
初始化:
AD时钟初始化
AD转化控制寄存器
用于初始化AD转化时钟
控制字详情:
ADCLK = PCLK/(value+1) &&ADCLK<2MHz
中断屏蔽
TC中断
AD中断是总的中断
AD转换中断
支持TC中断(touch screen)和ADC中断(模数转换中断)
中断屏蔽寄存器:
控制字详情
子中断屏蔽寄存器
子中断控制字
进入等待中断模式
ADC状态寄存器:
等待中断模式详情;
TC中断处理:
启动XY坐标自动转化
触摸屏AD控制器
控制字详情(使能xy自动轴转换)
AD转化控制寄存器
控制字详情(使能AD转化)
等待转化完成
AD转换控制寄存器
控制字详情(结束转换标志位)
获取坐标
AD转化数据寄存器0
数据存储位
AD转化数据寄存器1
数据存储位
清除中断
进入等待TC中断模式
触摸屏AD转换状态寄存器
状态字详情(检测按下还是弹起)
清除弹起中断
进入等待模式
touchscreem的更多相关文章
随机推荐
- HDU 2095 find your present (2) 动态链表
解题报告:输入一个n,后面紧跟着输入n个数,输入的这n个数中,除了有一个数的个数为奇数外,其它的数的个数都是偶数个,现在要你找出这个个数为奇数的这个数. 看起来好像很简单的样子,不过,这题的重点不在这 ...
- WeX5入门之欢乐捕鱼打包
一.下载欢乐捕鱼的素材包 https://files.cnblogs.com/files/wordblog/%E7%B4%A0%E6%9D%90.zip 二.把欢乐捕鱼素材放入项目中 并启动tomca ...
- required_new spring事务传播行为无效碰到的坑!
在测试事务传播行为的时候,因为用了同一个service中的方法测试,所以不管怎么设置都无效了: 原因是aop动态代理只会拦截一次执行方法,第二个方法是照搬的,只要调用其他service中的事务方法,传 ...
- nanosleep()
函数原型 #include <time.h> int nanosleep(const struct timespec *rqtp, struct timespec *rmtp); 描述 ...
- Vue起步
Vue起步 Vue.js是什么 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式javascript框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用. ...
- 两个Bounding Box的IOU计算代码
Bounding Box的数据结构为(xmin,ymin,xmax,ymax) 输入:box1,box2 输出:IOU值 import numpy as np def iou(box1,box2): ...
- 四、Springboot Debug调试
描述: 在使用maven插件执行spring-boot:run进行启动的时候,如果设置的断点进不去,要进行以下的设置. 1.添加jvm参数配置 在spring-boot的maven插件加上jvmArg ...
- cbow&&skipgram详细
前面:关于层次huffman树和负例采样也要知道的,这里就不详细写了 来源于:https://mp.weixin.qq.com/s?__biz=MzI4MDYzNzg4Mw==&mid=224 ...
- docker修改docker0 mtu
由于docker宿主机设置了mtu造成docker镜像中mtu和宿主机mtu不匹配,大包后网络不同.所以需要设置docker0的mtu. 1.修改docker.service vi /usr/lib/ ...
- C++类指针类型的成员变量的浅复制与深复制
本篇文章旨在阐述C++类的构造,拷贝构造,析构机制,以及指针成员变量指针悬空问题的解决.需要读者有较好的C++基础,熟悉引用,const的相关知识. 引言: 类作为C++语言的一种数据类型,是对C语言 ...