void keyscan()
{
switch (stat)
{
case 0:
{
if(RESET==GPIO_ReadInputPin(GPIOA, GPIO_PIN_1))
stat=1;
break;
}
case 1:
{
if(RESET==GPIO_ReadInputPin(GPIOA, GPIO_PIN_1))//消抖
stat=2;
break;
}
case 2:
{
if(RESET==GPIO_ReadInputPin(GPIOA, GPIO_PIN_1))//消抖
stat=3;
break;
}
case 3:
{
if(RESET!=GPIO_ReadInputPin(GPIOA, GPIO_PIN_1))//松开
{
LED1_TOGGLE();
stat=0;
if(count>=100)//长按1s
LED3_TOGGLE();
count=0;
}
else//按键未松开,计时(长按)
{
stat=3;
count++;
}
break;
}
}
atomTimerDelay(1);//10ms
}