s3c2440双击触摸屏的一种判定

首先需要一个定时器,定时0.5毫秒,之后产生中断。在按下触摸屏的时候进行判断定时器是否开启:1.若关闭则开启;2.若开启则判定为double clicked,

定时器可设置为自动重装初值,并在中断服务中关闭停止定时器。程序如下:



a.初始化:(定时器4)

  rSRCPND = rSRCPND | (0x1<<14);
  rINTPND = rINTPND | (0x1<<14);
  rINTMSK = rINTMSK & ~(0x1<<14) ;           //请求,解除中断屏蔽
         
  rTCFG0 &= 0xFF00FF;
  rTCFG0 |= 0xf900;      //预分频
  rTCFG1 &= ~0xF0000;   
  rTCFG1 |= 0x20000;     //分频值,频率25kHz
  rTCNTB4 = 12500;        //初值,使0.5秒
  pISR_TIMER4 = (U32)time4Init;//中断服务

b.触摸屏中断中:

if((rTCON & 0x100000)==0){//停止状态
rTCON &= ~0xF00000;//
rTCON |= 0x700000;//开启
rTCON &= ~0x200000 ; 
}
else//开启状态
{
Uart_Printf("double clicked!!\n");//判定双击
}

c.中断服务

void __irq time4Init()
{
rSRCPND = rSRCPND | (0x1<<14);
  rINTPND = rINTPND | (0x1<<14);
rTCON &=~0x100000;//





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值