• TQ2440触摸屏


    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数据手册中有注释,如下图所示:

    image

     

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

  • 相关阅读:
    git线上操作
    IDEA快捷方式
    Java 四种线程池
    java 获取当前天之后或之前7天日期
    如何理解AWS 网络,如何创建一个多层安全网络架构
    申请 Let's Encrypt 通配符 HTTPS 证书
    GCE 部署 ELK 7.1可视化分析 nginx
    使用 bash 脚本把 AWS EC2 数据备份到 S3
    使用 bash 脚本把 GCE 的数据备份到 GCS
    nginx 配置 https 并强制跳转(lnmp一键安装包)
  • 原文地址:https://www.cnblogs.com/nufangrensheng/p/3653648.html
Copyright © 2020-2023  润新知