/*****************************************************************************
** Main Function main()
*****************************************************************************/
int main (void)
{
// pin function define
PINSEL0 = 0x40051555;
PINSEL1 = 0x5540f001;
i = 0;
IODIR = LED | KEY0 | KEY1 | KEY2 | KEY3; //GPIO 端口方向寄存器
EINTInit();
keyscan = 0;
Int_Flag = 0;
while (1)
{
if (Int_Flag)
{
switch(keyscan)
{
case 0: Printf_UART("\n\r KEY 0 Pressed!\r\n");
break;
case 1: Printf_UART("\n\r KEY 1 Pressed!\r\n");
break;
case 2: Printf_UART("\n\r KEY 2 Pressed!\r\n");
break;
case 3: Printf_UART("\n\r KEY 3 Pressed!\r\n");
break;
}
Int_Flag = 0;
}
keyscan = (keyscan+1)%4;
switch (keyscan)
{
case 0: IOPIN = IOPIN & (~(KEY1|KEY2|KEY3)) | KEY0;
Timer10ms = 5;
while (Timer10ms != 0) {};
break;
case 1: IOPIN = IOPIN & (~(KEY0|KEY2|KEY3)) | KEY1;
Timer10ms = 5;
while (Timer10ms != 0) {};
break;
case 2: IOPIN = IOPIN & (~(KEY1|KEY0|KEY3)) | KEY2;
Timer10ms = 5;
while (Timer10ms != 0) {};
break;
case 3: IOPIN = IOPIN & (~(KEY1|KEY2|KEY0)) | KEY3;
Timer10ms = 5;
while (Timer10ms != 0) {};
break;
}
}
return 0;
}
/*****************************************************************************
** End Of File
*****************************************************************************/