arm触摸屏的头文件_ARM系统中触摸屏的中断处理方法

随着嵌入式微处理器性能的提高,集成的外围接口设备越来越多,而外围设备与处理器之间多采用中断方式进行通信,即使在没有操作系统的情况下,也常需要对多个外围设备的中断处理例程进行动态加载,从而实现对多个外围设备的集中动态管理。同时,中断功能可以解决CPU内部运行速度远远快于外部总线速度而产生的等待延时问题。因此,嵌入式微处理器的应用设计中,中断处理通常是系统的核心任务之一。本文引用地址:http://www.eepw.com.cn/article/201706/348428.htm

1 触摸屏

(1)触摸屏简介

随着多媒体信息查询的与日俱增,人们越来越关注触摸屏。触摸屏具有坚固耐用、反应速度快、节省空间、易于交流等许多优点,作为一种最新的电脑输入设备,它是目前最简单、方便、自然的人机交互方式。它赋予多媒体崭新的面貌,是极富吸引力的全新多媒体交互设备。触摸屏由触摸检测部件和触摸屏控制器组成。触摸检测部件安装在显示器屏幕前面,用于检测用户触摸位置,接收信息后送至触摸屏控制器;触摸屏控制器的主要作用是从触摸点检测装置上接收触摸信息,并将它转换成触点坐标后送给CPU,同时能接收CPU发来的命令并加以执行。按照触摸屏的工作原理和传输信息的介质,触摸屏可以分为4种,即电阻式、电容感应式、红外线式以及表面声波式。这里采用的是四线电阻屏。

(2)S3C2410A触摸屏控制器

S3C2410A触摸屏的外接电路主要是控制上下两层导电层的通断情况以及取电压,取电压之后还需要将这个模拟量转换成数字量,这部分工作主要是靠S3C2410A芯片中的模数转换器来实现的。即触摸屏的功能实现实际上分两部分,分别是触摸屏的外接电路部分和S3C2410A芯片自带的A/D转换控制部分。

2 ARM嵌入式操作系统中断处理方法

在嵌入式系统中外部设备的功能主要是靠中断机制来实现的。因此,ARM作为嵌入式微处理器的典型代表,为保证系统的实时性和稳定性,建立了一套完整的异常处理机制。

2.1 S3C2410A中断寄存器

每个寄存器在中断处理流程中所扮演的角色是不同的,中断流程如图1所示。

bf44e6c197e4a931b42e143000a9b27a.png

2.2 中断与中断服务程序

中断的硬件逻辑将检测到的中断,以某种方式指向中断服务程序的地址,该地址在头文件中以宏定义的形式出现。用户在自己的程序中,将中断服务程序的地址赋给该指针,从而将中断与中断服务程序联系起来。

为了方便使用高级语言编写异常处理函数,ARM编译器对异常处理函数作了特定的扩展,只要使用关键字__irq,编译出来的函数就满足异常响应对现场保护和恢复的需要。

在ADS编译器中,__irq专门用来声明IRQ中断服务程序。如果用__irq来声明一个函数,那么该函数就是IRQ中断服务程序,编译器会自动在函数内部增加中断现场保护代码。

3 中断方式实现触摸屏驱动

3.1 中断寄存器的设置与使能

S3C2410A的触摸屏是带子中断的内部中断。当中断发生后,SUBSRCPND相应位置1,如果没有被INTSUBMSK屏蔽,那么SRCPND相应位置1,如果没有被INTMSK屏蔽,就进一步设置INTMOD。这里采用IRQ中断方式,所以SRCPND可以有多位置1(FIQ只能有1位),经过PRIORITY选出一个优先级高的,然后把INTPND相应位置1(只能选出1位),进入IRQ,让CPU处理。

efb4c99e420230b529d1e26fed55931c.png

首先必须弄清楚SUBSRCPND与SRCPND之间的关系,几个SUBSRCPND可能对应同一个SRCPND。经过不断总结,得出的对应关系如表1所列。从表中可知,触摸屏要用到SUBSRCPND中的INT_TC位,即SUBSRCPND[9]。这里定义变量:

#define BIT_SUB_TC(0x19)

与之对应的是SRCPND中的INT_ADC位,即SRCPND[31],又定义变量:

#define BIT_ADC(0xl31)

INTMOD与PRIORITY采用默认设置。因此,可以把触摸屏的中断过程写为:

6932f7c822c0947d555534bbd9ade20b.png

3.2 触摸屏中断与触摸屏中断程序

首先使能ARM芯片的中断向量。当有IRQ中断到来,CPU会自动到0x18地址处取指。0x18处的指令是CPU根据中断源算好的。这里触摸屏的中断INT-ADC来了,那么0x18处的指令就是跳转到地址0x9c处。然后就执行“ldr pc,=HandlerINT_ADC”这条指令。这条指令的执行结果就是跳转到“HandlerINT_ADC”处执行。

那么“HandlerINT_ADC”处又是什么指令呢?从访问绝对地址的内存位置“#define pISR_ADC(*(unsigned*)(ISR_STARTADDRESS+0x9c))”可知,“HandlerINT_ADC”处的地址就是_ISR_STARTADDRESS+0x9C。

上述语句把无符号整数_ISR_STARTADDRESS+0x9c强制转换为指针,指向RAM,通过语句“pISR_ADC=(int)touchscreen;”对它进行访问,touchscreen即为所定义的触摸屏中断程序,该中断服务程序必须使用“__irq关键字进行声明。这样,用户在自己的程序中,将中断服务程序的地址赋给该指针,从而将触摸屏的中断与触摸屏的中断程序联系起来。整个触摸屏中断与触摸屏中断程序的联系如图2所示。

afdd69be7432aa2fc5cbecb8dab94302.png

09e3e96e0c8e20596c287044d7d159a8.png

结语

本文完成了触摸屏相关中断寄存器的设置,并编写了触摸屏的中断处理程序,采用编写“__irq”函数的方法实现了基于中断的触摸屏控制。在实际应用中,该程序设计简单可靠,触摸点坐标值读取准确,且无粘滞现象,达到了预期效果。

用于四线电阻屏的触摸驱动 触摸屏的简要介绍和安装准备 通用的四线电阻触摸屏的特点; 电阻触摸屏的安装准备; 安装电阻触摸屏的注意事项; 触摸屏的安装 触摸屏的安装过程; 触摸屏的驱动软件安装; 触摸屏的硬件安装; 触摸屏的具体使用方法和注意事项 排除故障的要点总结 触摸屏的简要介绍和安装准备 通用的四线电阻触摸屏的特点;    最近几年, 人机对话的界面刚发展起来的一项新技术,它通过计算机技术四线/触摸屏控制处理声音、图像、视频、文字、动画等信息,并在这些信息间建立一定的逻辑关系,使之成为能交互地进行信息存取和输出的集成系统。    触摸屏系统符合简便、经济、高效的原则,具有人机交互性好、 操作简单灵活、输入速度快等特点。它与迅猛发展的计算机网络和四线/触摸屏控制多媒体技术相结合,使用者仅仅用手指触摸屏幕,就能进行信息检索、数据分析,甚至可以做出身临其境、栩栩如生的效果;较键盘输入简单、直观、快捷,具有丰富多采的表现能力,比以往任何传媒更具亲合力。    触摸屏在我国已经得到了非常广阔的应用,主要是公共信息的查询;如电信局、税务局、银行、电力等部门的业务查询;城市街头的信息查询;此外应用于领导办公、工业控制、军事指挥、电子游戏、点歌点菜、多媒体教学、房地产预售等。如今,触摸屏特别是电阻式触摸屏,在不断走入大众家庭。    ,四线电阻式触摸屏:电阻触摸屏的屏体部分是一块与显示器表面非常配合的多层四线/触摸屏控制复合薄膜,由一层玻璃或有机玻璃作为基层,表面涂有一层透明的导电层,上面再盖有一层外表面硬化处理、光滑防刮的塑料层而内表面也涂有一层透明导电层,在两层导电层之间有许多细小(小于千分之一英寸)的透明隔离点把它们隔开绝缘,见图1。    图1 四线电阻触摸屏的基本原理    当手指触摸屏幕时,平常相互绝缘的两层导电层就在触摸点位置有了一个接触导通,因其一面导电层接通Y纵轴方向的参考电压Vref=5v均匀电压场,使得侦测层的电压由零变为非零,控制器侦测到这个接通后,进行模数A/D转换,并将得到的电压值与参考电压Vref相比即可得到触摸点的Y轴坐标,同理得出X横轴的四线/触摸屏控制坐标,这就是所有电阻技术触摸屏共同的最基本原理。     四线电阻式触摸屏的特点:高解析度(能轻松达到4096*4096),高速传输反应*(小于1/100秒)。 表面硬度处理,减少擦伤、刮伤及防化学处理。一次校正,永不漂移,稳定性高。不怕灰尘、水汽和油污,使用环境要求低,可以用任何非菱角的物体来触摸,技术工艺很成熟,成本较低,是最为广泛实用的触摸屏。 电阻触摸屏的安装准备; 首先,要准备好基本部件:包括:触摸屏,触摸笔,驱动程序(光盘),控制卡,连接线和延长线*(可根据实际需要取舍)。 控制卡按接口类型分为USB型和串口型两种*(通常选用USB型),
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值