ARM嵌入式系统中触摸屏的中断控制方法
来源:电子工程世界 作者:—— 时间:2010-07-05 07:00
3 中断方式实现触摸屏驱动
3.1 中断寄存器的设置与使能
S3C2410A的触摸屏是带子中断的内部中断。当中断发生后,SUBSRCPND相应位置1,如果没有被INTSUBMSK屏蔽,那么SRCPND相应位置1,如果没有被INTMSK屏蔽,就进一步设置INTMOD。这里采用IRQ中断方式,所以SRCPND可以有多位置1(FIQ只能有1位),经过PRIORITY选出一个优先级高的,然后把INTPND相应位置1(只能选出1位),进入IRQ,让CPU处理。
首先必须弄清楚SUBSRCPND与SRCPND之间的关系,几个SUBSRCPND可能对应同一个SRCPND。经过不断总结,得出的对应关系如表1所列。从表中可知,触摸屏要用到SUBSRCPND中的INT_TC位,即SUBSRCPND[9]。这里定义变量:
#define BIT_SUB_TC(0x1<<9)
与之对应的是SRCPND中的INT_ADC位,即SRCPND[31],又定义变量:
#define BIT_ADC(0xl<<31)
INTMOD与PRIORITY采用默认设置。因此,可以把触摸屏的中断过程写为:
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。
上一篇:大功率LED种类及测试标准
下一篇:医疗应用中的微波与射频技术
- •立即领票 | 芯片+封测+嵌入式系统大展9.15-17深圳福田见!国产化元器件一站式选型2022-08-23
- •深圳国际电子展暨嵌入式系统展在深圳举行2021-09-27
- •莱迪思将其FPGA拓展至智能和嵌入式视觉系统2020-09-11
- •Arm年会开跑,推全新嵌入式CPU定制化指令2019-10-10
- •商汤科技推出SenseDLC嵌入式人像识别SDK软件 安防边缘的“小巨人”2019-01-23
- •基于DSP嵌入式技术的智能刹车控制系统电路设计2019-01-18
- •Windows CE下基于TSC2101的音频控制系统电路设计2019-01-18
- •基于μC/OS-II嵌入式的固话来电防火墙电路模块设计2019-01-18
- •双向通信渔船测报仪系统电路模块设计2019-01-18
- •嵌入式指纹识别系统USB接口电路设计2019-01-18