主题 : 请帮忙看一下,这个程序什么意思? 复制链接 | 浏览器收藏 | 打印
级别: 侠客
UID: 3501
精华: 0
发帖: 52
金钱: 530 两
威望: 530 点
综合积分: 104 分
注册时间: 2009-01-14
最后登录: 2009-06-16
楼主  发表于: 2009-04-21 21:09

 请帮忙看一下,这个程序什么意思?

这是液晶平驱动的一部分
#define WAIT4INT(x)  (((x)<<8) | \                  
             S3C2410_ADCTSC_YM_SEN | S3C2410_ADCTSC_YP_SEN | S3C2410_ADCTSC_XP_SEN | \
             S3C2410_ADCTSC_XY_PST(3))

#define AUTOPST         (S3C2410_ADCTSC_YM_SEN | S3C2410_ADCTSC_YP_SEN | S3C2410_ADCTSC_XP_SEN | \
             S3C2410_ADCTSC_AUTO_PST | S3C2410_ADCTSC_XY_PST(0))

其中#define S3C2410_ADCTSC_YM_SEN        (1<<7)
         。。。。。。。。
static inline void s3c2410_ts_connect(void)  //IO端口设置
{
    s3c2410_gpio_cfgpin(S3C2410_GPG12, S3C2410_GPG12_XMON);
    s3c2410_gpio_cfgpin(S3C2410_GPG13, S3C2410_GPG13_nXPON);
    s3c2410_gpio_cfgpin(S3C2410_GPG14, S3C2410_GPG14_YMON);
    s3c2410_gpio_cfgpin(S3C2410_GPG15, S3C2410_GPG15_nYPON);
}
其中#define S3C2410_GPG12         S3C2410_GPIONO(S3C2410_GPIO_BANKG, 12)
#define S3C2410_GPG12_XMON    (0x03 << 24)
请帮我看看,特别是“其中”后面的部分,看了一下午了,受不了了
这个阶段正是我事业的上升期,我怎么能走得开呢?
级别: 精灵王
UID: 3197
精华: 3
发帖: 770
金钱: 6995 两
威望: 5398 点
综合积分: 1600 分
注册时间: 2008-12-30
最后登录: 2010-12-31
1楼  发表于: 2009-04-21 21:32
先看看手册中LED驱动的说明章节。
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
2楼  发表于: 2009-04-21 22:32
晕,这明明是S3C2440A的触摸屏驱动好吧
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 侠客
UID: 3501
精华: 0
发帖: 52
金钱: 530 两
威望: 530 点
综合积分: 104 分
注册时间: 2009-01-14
最后登录: 2009-06-16
3楼  发表于: 2009-04-21 22:38

 回 2楼(kasim) 的帖子

说错了,不好意思。
这个阶段正是我事业的上升期,我怎么能走得开呢?
级别: 精灵王
UID: 3197
精华: 3
发帖: 770
金钱: 6995 两
威望: 5398 点
综合积分: 1600 分
注册时间: 2008-12-30
最后登录: 2010-12-31
4楼  发表于: 2009-04-22 08:31
s3c2410_gpio_cfgpin的说明在LED章节中讲了。
级别: 侠客
UID: 3501
精华: 0
发帖: 52
金钱: 530 两
威望: 530 点
综合积分: 104 分
注册时间: 2009-01-14
最后登录: 2009-06-16
5楼  发表于: 2009-04-22 08:37

 回 4楼(26672624) 的帖子

间的不详细,特别是以下这部分,我不懂,你能指点一下吗? 我不困这很久了都快崩溃,谢谢
if (pin < S3C2410_GPIO_BANKB) {
mask = 1 << S3C2410_GPIO_OFFSET(pin);
} else {
mask = 3 << S3C2410_GPIO_OFFSET(pin)*2;
}
我的QQ:364630974
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
6楼  发表于: 2009-04-22 15:37

 Re:回 4楼(26672624) 的帖子

引用第5楼cocies于2009-04-22 08:37发表的 回 4楼(26672624) 的帖子 :
间的不详细,特别是以下这部分,我不懂,你能指点一下吗? 我不困这很久了都快崩溃,谢谢
if (pin < S3C2410_GPIO_BANKB) {
mask = 1 << S3C2410_GPIO_OFFSET(pin);
} else {
mask = 3 << S3C2410_GPIO_OFFSET(pin)*2;
.......

那只是根据GPIO PIN的编号正确的设置mask的值,GPA和GPB~GPJ部分的GPIO的配置寄存器GPXCON (X=A,B,...J)寄存器的各个bit定义不一样. 具体的定义参考S3C2440手册GPIO章节里的寄存器定义部分
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."