免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2072 | 回复: 6
打印 上一主题 下一主题

IRQ_TC problem [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-10-13 21:35 |只看该作者 |倒序浏览
在出发TC中断问题,代码如下,想问下具体步骤:
#include<g-bios.h>
#include<stdio.h>
#include <core/init.h>
#include <arch/s3c24xx.h>
#include <core/irq.h>
#include <core/io.h>

static int hello(void)
{
        printf("hello maxwit CHINA");
        return 0;
}

static __INIT__  int S3cTouch(void)
{
        int ret;
        ret = GkRegisterIsr(IRQ_TC,hello,NULL);
        writel(1<<5,VA(0x5800000));
        writel(3,VA(0x5800004));
       
        return ret;
}

DRIVER_INIT(S3cTouch);

论坛徽章:
0
2 [报告]
发表于 2009-10-13 23:31 |只看该作者
S3C2440 datasheet 上ADC基址是错的,少写了一个零,应该是0x58000000

论坛徽章:
0
3 [报告]
发表于 2009-10-13 23:36 |只看该作者
原帖由 fleyahjj 于 2009-10-13 23:31 发表
S3C2440 datasheet 上ADC基址是错的,少写了一个零,应该是0x58000000


嗯,这个是正解

论坛徽章:
0
4 [报告]
发表于 2009-10-13 23:46 |只看该作者
不过你的ADC TOUCH SCREEN CONTROL REGISTER (ADCTSC)0x58000004寄存器的值填写也不正确

datasheet上有介绍Touch Screen Interface Mode有四种:
1. Normal Conversion Mode
2. Separate X/Y position conversion Mode
3. Auto(Sequential) X/Y Position Conversion Mode
4. Waiting for Interrupt Mode
这四种模式是通过ADC TOUCH SCREEN CONTROL REGISTER (ADCTSC) 寄存器bit[0-2]控制的
bit[2]  : Automatically sequencing conversion of X-Position and Y-Position
            0 = Normal ADC conversion.
            1 = Auto Sequential measurement of X-position, Y-position
bit[1:0]:Manually measurement of X-Position or Y-Position.
             00 = No operation mode
             01 = X-position measurement
             10 = Y-position measurement
             11 = Waiting for Interrupt Mode

S3C2440.pdf

2.36 MB, 下载次数: 21

论坛徽章:
0
5 [报告]
发表于 2009-10-13 23:50 |只看该作者
4. Waiting for Interrupt Mode
Touch Screen Controller generates interrupt (INT_TC) signal when the Stylus is down. Waiting for Interrupt Mode
setting value is rADCTSC=0xd3; // XP_PU, XP_Dis, XM_Dis, YP_Dis, YM_En.

论坛徽章:
0
6 [报告]
发表于 2009-10-13 23:59 |只看该作者
原帖由 fleyahjj 于 2009-10-13 23:50 发表
4. Waiting for Interrupt Mode
Touch Screen Controller generates interrupt (INT_TC) signal when the Stylus is down. Waiting for Interrupt Mode
setting value is rADCTSC=0xd3; // XP_PU, XP_Dis, XM ...



是的,应该选择中断等待模式,这样当按下触膜屏后就会产生中断通知CPU。

论坛徽章:
0
7 [报告]
发表于 2009-10-14 09:27 |只看该作者
谢谢按你们方法已经解决了这个问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP