抖动时间的长短由按键的机械特性决定,一般为5ms~10ms

stm32 按键操作_其他

void key()
{
static u8 flag = 1;

if(flag == 1 && KEY_UP == 1)
{
delay_ms(10);
if(KEY_UP == 1)
{
flag = 0;
led1 = ~led1;
}
}
else if(KEY_UP == 0)
{
delay_ms(10);
if(KEY_UP == 0)
{
flag = 1;
}
}
}