- 论坛徽章:
- 0
|
我看了一个程序,上面吧
.start =0x56000060,
.end =0x56000068, //GPGCON,GPGDAT,GPGUP三个寄存器地址空间
.flags =IORESOURCE_MEM,
这样的一个地址空间映射后,基地址赋给了s3c2410_key_base,然后在按键中断后,读取down = readw(s3c2410_key_base + 4); 这个是读取GPGDAT的值,没错吧?可是按键是和GPG0,GPG3,GPG5,GPG6,GPG7,GPG11相连的,GPGDAT是GPG口所有的io口的数据结存器么,这样读取GPGDAT是把GPG0、GPG1,GPG2,GPG3,GPG4,GPG5,GPG6。。。。。所有的数值都读取出来了么?
还有,定义了int pin = button_irqs->pin-S3C2410_GPIO_BANKG;其中button_irqs->pin就是S3C2410_GPG0,S3C2410_GPG3,S3C2410_GPG5,等和按键相连的GPIO口,
我想问下S3C2410_GPIO_BANKG是干什么用的?
最后读取的数据data =!(down & (1<<(pin & 0x0f))); 是怎么获取到该GPIO口的值的?
小弟硬件不太好,帮忙解释下不胜感激 |
|