2622|2

60

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于s3c2440触摸屏驱动的疑问 [复制链接]

下面是触摸屏驱动程序(S3c2410_ts.c)中的函数stylus_action,它是IRQ_ADC的中断处理函数,但count=4时,将调用touch_timer_fire完成采样,为什么这里要用定时器来调用它?不能直接调用吗? jiffies+1的意思是下一个时钟周期执行函数吗?
采样完成后设置为等待触笔抬起中断,如果触笔一直不抬起,而是在触摸屏上移动,那AD不是就无法采集到新的坐标信息了吗?
我看这个驱动程序已经好长时间了,实在搞不懂。请高手指点一下!!!感激不尽!!!

  1. static irqreturn_t stylus_action(int irq, void *dev_id)
  2. {
  3.     unsigned long data0;
  4.     unsigned long data1;

  5.     if (OwnADC) {
  6.         data0 = ioread32(base_addr+S3C2410_ADCDAT0);
  7.         data1 = ioread32(base_addr+S3C2410_ADCDAT1);

  8.         xp += data0 & S3C2410_ADCDAT0_XPDATA_MASK;
  9.         yp += data1 & S3C2410_ADCDAT1_YPDATA_MASK;
  10.         count++;

  11.         if (count < (1 < <2)) {
  12.             iowrite32(S3C2410_ADCTSC_PULL_UP_DISABLE | AUTOPST, base_addr+S3C2410_ADCTSC);
  13.             iowrite32(ioread32(base_addr+S3C2410_ADCCON) | S3C2410_ADCCON_ENABLE_START, base_addr+S3C2410_ADCCON);
  14.         } else {
  15.             mod_timer(&touch_timer, jiffies+1);/*调用touch_timer_fire完成采样*/
  16.             iowrite32(WAIT4INT(1), base_addr+S3C2410_ADCTSC);/*这里为什么要设置为等待触笔抬起中断?*/
  17.         }
  18.     }

  19.     return IRQ_HANDLED;
  20. }
复制代码

最新回复

我这里为何没有这个函数?  详情 回复 发表于 2009-6-15 10:40
点赞 关注

回复
举报

62

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
没人知道吗?
 
 

回复

66

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
我这里为何没有这个函数?
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表