判断按键长按短按

第一种办法:switch循环进行延时判断按键长按短按
延时一秒,就这样
延时N秒在判断,就将case 1的东西加到case N中,进行判断

u8 step=0;
switch(step)
{
    case 0:
        if(key_flag==1)//key_flag==1代表按键按下
        {
            flag=1;
        }
        break;
    case1:
        if(flag=1)
        {
            printf("长按");
        }
        else printf("短按");
        break;

        
}
step++;

第二种办法:延时函数,重复判断

if(key_flag==1)
{
     delay_ms(10000);
     if(key_flag==1{
     printf("长按");
     }
     else  printf("短按");

}

你可能感兴趣的:(STM32,前端,linux)