- 论坛徽章:
- 0
|
static void Scan_Keyboard(void)
{
unsigned int IOValue = 0;
unsigned int temp = 0;
int i;
/*
temp |= 0xffff;
temp &= 0xfff0;
writel(temp,S3C64XX_GPNDAT);
*/
Port_Init();/*to set GPIO GPNCON*/
IOValue = readl(S3C64XX_GPNDAT);
//printk("\n 1...IOVAlue = %x...\n",IOValue);
if((IOValue & (1 << 0)) == 0)
{
ROWVAL = 1;
}
else if((IOValue & (1 << 1)) == 0)
{
ROWVAL = 2;
}
else if((IOValue & (1 << 2)) == 0)
{
ROWVAL = 3;
}
printk("\n"); //不加这句话 COLVAL没有值!!!!!!!
for (i = 0; i<10000;i++){} //delay
temp |= 0xffff;
temp &= 0xfd8f;
writel(temp,S3C64XX_GPNDAT);
port_init();/*to set GPIO GPNCON*/
IOValue = readl(S3C64XX_GPNDAT);
if((IOValue & (1 << 4)) == 0x10)
{
COLVAL = 1;
}
else if((IOValue & (1 << 5)) == 0x20)
{
COLVAL = 2;
}
else if((IOValue & (1 << 6)) == 0x40)
{
COLVAL = 3;
}
else if((IOValue & (1 << 9)) == 0x200)
{
COLVAL = 4;
}
}
有printk() COLVAL 判断正确,没有就没值!大牛们帮俺看一看呗! |
|