第2个回答 2016-04-25
void numm(void){
num=0;
if(_it0==1){ //按键按下标志
if(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_5)==0){ //K1
Delay(0x3ffff);
if(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_5)==0){ //按键消抖动
while(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_5)==0);//是否松开按键
num=1; //键值1 为K1按下
goto n_exit;
}
}
}
else if(_it0==2){ //按键按下标志
if(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_2)==0){ //K2
Delay(0x3ffff);
if(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_2)==0){ //按键消抖动
while(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_2)==0);//是否松开按键
num=2; //键值2 为K2按下
goto n_exit;
}
}
}
else if(_it0==3){ //按键按下标志
if(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_3)==0){ //K3
Delay(0x3ffff);
if(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_3)==0){ //按键消抖动
while(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_3)==0);//是否松开按键
num=3; //键值3 为K3按下
goto n_exit;
}
}
}
n_exit:;
_it0=0;
}