高中生
最后登录1970-1-1
在线时间 小时
注册时间2015-11-4
|
楼主 |
发表于 2015-11-11 18:09:14
|
显示全部楼层
uint8_t Key_Scan(GPIO_TypeDef* GPIOx,u16 GPIO_Pin)//,uint8_t Down_state)
{
/*¼ì2aêÇ·ñóD°′¼ü°′Ï */
if(GPIO_ReadInputDataBit(GPIOx,GPIO_Pin)==KEY_ON)// == Down_state )
{
/*Ñóê±Ïû¶¶*/
Key_Delay(10000);
if(GPIO_ReadInputDataBit(GPIOx,GPIO_Pin)==KEY_ON)// == Down_state )
{
/*μè′y°′¼üêí·Å */
while(GPIO_ReadInputDataBit(GPIOx,GPIO_Pin)==KEY_ON) //== Down_state);
return KEY_ON;
}
else
return KEY_OFF;
}
else
return KEY_OFF;
}
/*-----------------------------------------------------------------*/
void Key_Test(void)
{
/* config the led */
LED_GPIO_Config();
LED1_ON;
LED2_ON;
/*config key*/
Key1_GPIO_Config();
Key2_GPIO_Config();
while(1)
{
if( Key_Scan(GPIOA,GPIO_Pin_0) == KEY_ON ) // KEY1
{
/*LED1·′×a*/
LED1_TOGGLE;
}
else if( Key_Scan(GPIOC,GPIO_Pin_13) == KEY_ON ) // KEY2
{
/*LED2·′×a*/
LED2_TOGGLE;
}
}
}
我重写成这样后,按键反应有时不灵敏,要按好几次才有效果,不知道什么原因,请指教 |
|