s3c2440集成了4线制电阻式的触摸屏接口,触点坐标的检测是通过A/D转换来实现的。

s3c2440一共有4种触摸屏接口模式:

(1)等待中断模式

设置ADCTSC寄存器为0xD3即可令触摸屏控制器处于这种模式。这时它等待触摸屏被按下,当触摸屏被按下时,触摸屏控制器将发出INT_TC(INT_ADC的子中断)中断信号,这时触摸屏控制器要转入自动(连续)x/y轴坐标转换模式(或者转入分离的x/y轴坐标转换模式),以读取x、y坐标。

注:对于TQ2440,可以设置ADCTSC寄存器的位[8]为0或1,来决定是在按下时产生中断,还是松开时中断。

(2)分离的x/y轴坐标转换模式

设置ADCTSC寄存器为0x69进入x轴坐标转换模式,x轴坐标值转换完毕后被写入ADCDAT0,然后发出INT_ADC_S(INT_ADC的子中断)中断;

设置ADCTSC寄存器为0x9A进入y轴坐标转换模式,y轴坐标值转换完毕后被写入ADCDAT1,然后发出INT_ADC_S(INT_ADC的子中断)中断。

(3)自动(连续)x/y轴坐标转换模式

设置ADCTSC寄存器为0x0C进入自动(连续)x/y轴坐标转换模式,触摸屏控制器就会自动转换触点的x、y坐标值,并分别写入ADCDAT0、ADCDAT1寄存器中,然后发出INT_ADC_S(INT_ADC的子中断)中断。

(4)普通转换模式

不使用触摸屏时,触摸屏控制器处于这种模式。

其中,自动(连续)XY坐标转换模式和等待中断模式应用比较常见。

下述内容摘自:http://blog.csdn.net/zhaocj/article/details/5510536

等待中断模式是在触笔落下时产生一个中断,在这种模式下,A/D触摸屏控制寄存器ADCTSC的值应为0xD3在系统响应中断后,XY坐标的测量模式必须为无操作模式,即寄存器ADCTSC的低两位必须清零

自动(连续)XY坐标转换模式是系统依次转换触点的X轴坐标和Y轴坐标,其中X轴坐标值写入寄存器ADCDAT0的低10位中,Y轴坐标写入寄存器ADCDAT1的低10位中,在这种模式下,系统同样会产生中断信号。

在一般情况下,为实现触摸屏功能,先是设置为等待中断模式,在产生中断后,再设置为自动(连续)XY坐标转换模式,依次读取触点的坐标值。

在实现触摸屏功能的过程中,除了上面介绍的几个寄存器外,还会用到以下寄存器。寄存器ADCTSC的第8位能够实现是触笔落下中断还是触笔抬起中断,如果写过基于视窗应用程序的人对这一点会很熟悉,它就好像单击鼠标操作一样,一次单击操作包括两个动作:按下和释放,这两个动作可以完成不同的命令。寄存器ADCTSC的第3位可以选择上拉电阻的使能,在等待中断模式下,上拉电阻要有效,在触发中断后,上拉电阻要无效。寄存器ADCTSC的第2位用于选择自动(连续)XY坐标转换模式。触笔抬起/落下中断状态寄存器ADCUPDN的低2位能够判断触笔在何种状态下引起的中断。A/D延时寄存器ADCDLY可以设置开始中断到真正开始A/D转换这段时间的延时长度,它的时钟源频率为3.68MHz。在ADC转换过程中使用的时钟源为GCLK,最大50MHZ。这一点在TQ2440数据手册中有注释,如下图所示:

 

注意:针对ADC转换完成产生的中断是INT_ADC_S,针对触摸屏所产生的中断则是INT_TC。这两个中断都是总中断INT_ADC的子中断。对这两个子中断的中断处理函数都是安装在pISR_ADC(在2440addr.h中定义)。

TQ2440触摸屏的更多相关文章

  1. 基于设备树的TQ2440触摸屏驱动移植

    平台 开发板:tq2440 内核:Linux-4.9 u-boot:u-boot-2015.04   概述 之前移植了LCD驱动,下面继续移植触摸屏驱动,然后将tslib也移植上去. 正文 一.移植触 ...

  2. 【Linux开发】【Qt开发】嵌入式Qt程序使用触屏或USB鼠标方式

    上文<嵌入式Qt开发-移植到ARM开发板 >介绍了Qt程序的移植,本文再说下如何使开发板Qt程序使用触摸屏或USB方式进行交互. 之前刚把一个qt程序移植到arm板上成功运行显示时就开心的 ...

  3. TQ2440实现触摸屏和qt图形 解决segmentation fault

    使用触摸屏,首先安装触摸屏矫正程序. 下载并解压tslib-1.4,进入主文件夹,运行: 1 [root@localhost ~]#./autogen.sh 2 [root@localhost ~]# ...

  4. linux 输入子系统之电阻式触摸屏驱动

    一.输入子系统情景回忆ING...... 在Linux中,输入子系统是由输入子系统设备驱动层.输入子系统核心层(Input Core)和输入子系统事件处理层(Event Handler)组成.其中设备 ...

  5. 讓TQ2440也用上設備樹(1)

    作者:彭東林 郵箱:pengdonglin137@163.com QQ:405728433 開發板 TQ2440 + 64MB 內存 + 256MB Nand 軟件 Linux: Linux-4.9 ...

  6. u-boot-2015.04 在tq2440上的移植(使用spl引导u-boot)

    本次移植跟以往的不同之处是采用了spl来引导u-boot,参考了博客http://blog.csdn.net/fulinus/article/details/42738641 下载链接:http:// ...

  7. 基于TQ2440的SPI驱动学习(OLED)

    平台简介 开发板:TQ2440 (NandFlash:256M  内存:64M) u-boot版本:u-boot-2015.04 内核版本:Linux-3.14 作者:彭东林 邮箱:pengdongl ...

  8. 联想A880 DIY 换触摸屏屏幕

    今年初入手的Lenovo A880手机,由于摔坏了屏幕不过能正常显示,咨询了联想的售后,说触摸屏和显示屏是分离的,换触摸屏需要280左右 为发挥DIY的精神,准备自己来处理这个屏幕 第一步:购买屏幕, ...

  9. 嵌入式Linux驱动学习之路(十九)触摸屏驱动、tslib测试

    触摸屏使用流程: 1. 按下产生中断. 2.在中断处理程序中启动AD转换XY坐标. 3.AD转换结束并产生AD中断. 4. 在AD的中断处理函数中上报信息,启动定时器. 5. 定时器时间到后进入中断, ...

随机推荐

  1. Emgu CV

    摄像头 Capture _capture = new Capture(0); _capture.SetCaptureProperty(Emgu.CV.CvEnum.CAP_PROP.CV_CAP_PR ...

  2. Asp.Net Core Web相对路径、绝对路径整理

    一.相对路径 1.关于Asp.Net Core中的相对路径主要包括两个部分:一.Web根目录,即当前网站的目录为基础:二.内容目录wwwroot文件夹,对于静态文件都放在这个目录. 2.获取控制器,A ...

  3. Tmux教程

    常用命令如下: (Ctrl+B) + (Shift+5) 打开一个新窗口 (Ctrl+B) + right/left 在不同窗口之间切换 (Ctrl+B) + [ 或 ] 进入复制模式,查看历史记录 ...

  4. python抽象类的实现方式:abc模块

    abc:abstract base class 文档:https://docs.python.org/zh-cn/3.7/library/abc.html 参考:https://www.cnblogs ...

  5. Newtonsoft.Json高级用法,json序列号,model反序列化,支持序列化和反序列化DataTable,DataSet,Entity Framework和Entity,字符串

    原文地址:https://www.cnblogs.com/yanweidie/p/4605212.html 手机端应用讲究速度快,体验好.刚好手头上的一个项目服务端接口有性能问题,需要进行优化.在接口 ...

  6. Springboot 之 自定义配置文件及读取配置文件注意:配置文件中的字符串不要有下划线 .配置中 key不能带下划线,value可以(下划线的坑,坑了我两天..特此纪念)

    注意:配置文件中的字符串不要有下划线 .配置中  key不能带下划线,value可以 错误的.不能读取的例子: mySet .ABAP_AS_POOLED      =  ABAP_AS_WITH_P ...

  7. jQuery事件命名空间多事件绑定自定义事件js 命名空间 javascript命名空间

    http://blog.csdn.net/pigpigpig4587/article/details/24727791 jQuery事件命名空间 jQuery支持事件命名空间,以方便事件管理.例如,在 ...

  8. 检测Sql Server服务器SQL语句执行情况

    1.查找目前SQL Server所执行的SQL语法,并展示资源情况: SQL code ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 ...

  9. git: error while loading shared libraries: libiconv.so.2

    git安装之后出现:git: error while loading shared libraries: libiconv.so.2: cannot open shared object file: ...

  10. FreePascal - Typhon在Windows10 X64下的使用问题!

    Typhon是CodeTyphon中的开发FreePascal的IDE工具. 在Windows10 X64中安装完CodeTyphon后,我们会发现有两套Typhon,分别对应32位和64位,32位可 ...