单片机按键长按键处理问题,在线请高手帮忙,解决了一定再追加积分!
发布网友
发布时间:2022-05-15 01:05
我来回答
共2个回答
热心网友
时间:2023-11-18 05:35
呵呵,你好,更改的代码如下,希望你能够自己理解啦
key()
{
{
if(s1==0)
{
delayms(10);
if(s1==0)
{
num++;
if(num==100)
num=0;
count[0]=num/10;
count[1]=num%10;
}
delayms(200);//个人感觉while(!s1)不能一直按着计数比较麻烦;
}
if(s2==0)
{
delayms(10);
{
if(s2==0)
{
num--;
if(num==-1)
num=100;
count[0]=num/10;
count[1]=num%10;
delayms(200);
}
}
}
}
}
热心网友
时间:2023-11-18 05:36
当我按键按下持续3s的时候,为什么KeyCount=0语句没有执行,而它后面的if(key==0)
modes=3;执行成功?==>KeyCount=0语句执行了,执行之后完成了,你还没放手,所以又执行下面的了。