主题 : 请教wince5.0 下触摸屏下一句代码的意思? 复制链接 | 浏览器收藏 | 打印
追求卓越,拒绝平庸
级别: 新手上路
UID: 25086
精华: 0
发帖: 24
金钱: 120 两
威望: 24 点
综合积分: 48 分
注册时间: 2010-07-19
最后登录: 2015-09-06
楼主  发表于: 2010-08-02 17:36

 请教wince5.0 下触摸屏下一句代码的意思?

我用的是mirco2440开发板,在触摸屏程序里有一段代码如下:
TSP_PowerOn(VOID)
{
    RETAILMSG(0,(TEXT("::: TSP_PowerOn()\r\n")));

    /* Use TSXM, TSXP, TSYM, TSYP            */
   v_pIOPregs->GPGCON |=  ((0x3 << 30) | (0x3 << 28) | (0x3 << 26) | (0x3 << 24));

    v_pADCregs->ADCDLY = 50000;

    v_pADCregs->ADCCON =    (1      << 14) |    /* A/D Converter Enable                    */
                            (ADCPRS <<  6) |    /* Prescaler Setting                    */
                            (0      <<  3) |    /* Analog Input Channel : 0                */
                            (0      <<  2) |    /* Normal Operation Mode                */
                            (0      <<  1) |    /* Disable Read Start                    */
                            (0      <<  0);     /* No Operation                            */

    v_pADCregs->ADCTSC =    (0      <<  8) |    /* UD_Sen                                */
                            (1      <<  7) |    /* YMON  1 (YM = GND)                    */
                            (1      <<  6) |    /* nYPON 1 (YP Connected AIN[n])        */
                            (0      <<  5) |    /* XMON  0 (XM = Z)                        */
                            (1      <<  4) |    /* nXPON 1 (XP = AIN[7])                */
                            (0      <<  3) |    /* Pull Up Disable                        */
                            (0      <<  2) |    /* Normal ADC Conversion Mode            */
                            (3      <<  0);     /* Waiting Interrupt                    */


    v_pINTregs->INTSUBMSK  &= ~(1<<IRQ_SUB_TC);

    v_pPWMregs->TCFG1  &= ~(0xf << 12);     /* Timer3's Divider Value                */
    v_pPWMregs->TCFG1  |=  (0   << 12);     /* 1/2                                    */
    v_pPWMregs->TCNTB3  = g_timer3_sampleticks;       /* Interrupt Frequency                    */
}
很明显这段代码是初始化触摸屏相关寄存器的,但是对于其中一句很是不理解,即: v_pIOPregs->GPGCON |=  ((0x3 << 30) | (0x3 << 28) | (0x3 << 26) | (0x3 << 24));
这一段代码是初始化几个中断IO端口,但这几个端口根本没有用到,原理图上已经把这几个端口上拉了。既然如此为什么还要初始化呢?请高手指点一下。
追求卓越 拒绝平庸
追求卓越,拒绝平庸
级别: 新手上路
UID: 25086
精华: 0
发帖: 24
金钱: 120 两
威望: 24 点
综合积分: 48 分
注册时间: 2010-07-19
最后登录: 2015-09-06
1楼  发表于: 2010-08-03 10:42
没人懂吗,自己顶
追求卓越 拒绝平庸
追求卓越,拒绝平庸
级别: 新手上路
UID: 25086
精华: 0
发帖: 24
金钱: 120 两
威望: 24 点
综合积分: 48 分
注册时间: 2010-07-19
最后登录: 2015-09-06
2楼  发表于: 2010-08-03 10:43
再顶……
追求卓越 拒绝平庸
级别: 新手上路
UID: 39415
精华: 0
发帖: 7
金钱: 35 两
威望: 7 点
综合积分: 14 分
注册时间: 2011-03-08
最后登录: 2011-05-12
3楼  发表于: 2011-03-09 21:08
有啊,GPG12-GPG15都是触摸接口,你好好看看这个CPU哦,当不用作触摸接口时也是AIN4,AIN5,,AIN6,,AIN7,口,
级别: 新手上路
UID: 39415
精华: 0
发帖: 7
金钱: 35 两
威望: 7 点
综合积分: 14 分
注册时间: 2011-03-08
最后登录: 2011-05-12
4楼  发表于: 2011-03-09 21:09
我QQ是382354867,我现在也在弄这个,还得向你请教请教