STM32f103------按键处理

时间:2021-11-05 06:53:07

(1)按键去抖

/*****************************************
*函数名称:Key_Scan(GPIO_TypeDef*GPIOx,u16 GPIO_pin)
*描  述:检验是否有键按下
*输  入:GPIOx代表端口  GPIO_Pin 代表引脚
*输  出:KEY_OFF,KEY_ON
*****************************************/
u8 Key_Scan(GPIO_TypeDef*GPIOx,u16 GPIO_pin)
{
if(GPIO_ReadInputDataBit(GPIOx,GPIO_Pin)==KEY_ON)
{
Delay(10000);//去抖延时
if(GPIO_ReadInputDataBit(GPIOx,GPIO_Pin)==KEY_ON)
{
while(GPIO_ReadInputDataBit(GPIOx,GPIO_Pin)==KEY_ON);
return KEY_ON;
}
else
return KEY_OFF;
}
else
return KEY_OFF;
}