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的更多相关文章
随机推荐
- seq与Shell序列生成
有时候可能有这样的需要:用Shell生成类似0001这样的序列作为批次号,这里整理了一下个人的方法 方法一:通过seq命令 seq命令可以生成从某个数字到递增到另一数字的序列.用法如下: # seq ...
- git之存储(git stash)-------(二)
关于git stash命令的使用方法网上一大把,我想记录的是我在使用过程中觉得实用及好用的: 当在一个分支的开发工作未完成,却又要切换到另外一个分支进行开发的时候,可以先将自己写好的代码,储存在一个箱 ...
- [转]计算机视觉之跟踪算法——相关滤波器Correlation Filter
https://blog.csdn.net/victoriaw/article/details/62416759 ASEF相关滤波器: Average of Synthetic Exact Filte ...
- RabbitMQ学习(一):RabbitMQ要点简介
转载:http://blog.csdn.net/leixiaotao_java/article/details/78909760#t0 1.什么是RabbitMQ? RabbitMQ是由Erlang语 ...
- linux limits研究
---------------------------------------------------------------------------------------------------- ...
- Mysql5.6版本内存占用过高解决方法[链接]
传送门: http://blog.linsongzheng.com/archives/159.html
- 07 go语言
Home Alexey Palazhchenko edited this page on 9 Jul · 89 revisions Welcome to the Go wiki, a collec ...
- Linux下获取和设置IP
在Linux下获取关于IP和网关的操作:重点是对struct ifreq 的操作. 那么进入目录/usr/include/net/if.h下看查找struct ifreq结构体. /* Interfa ...
- docker修改docker0 mtu
由于docker宿主机设置了mtu造成docker镜像中mtu和宿主机mtu不匹配,大包后网络不同.所以需要设置docker0的mtu. 1.修改docker.service vi /usr/lib/ ...
- JQ + CSS实现浪漫表白必备
JQ + CSS实现浪漫表白必备页面 效果图: 图片素材 : 代码如下,复制即可使用: <!DOCTYPE html> <html> <head> <meta ...