详细解释一下这段代码void scanfKey() { if(digitalRead(KEY1) == HIGH) { delay(20); if(digitalRead(KEY1) == HIGH) { if(ledFlag == 0) { ledFlag = 1; //digitalWrite(LED,HIGH); openLED(); }else{ ledFlag = 0; //digitalWrite(LED,LOW); closeLED(); } while(digitalRead(KEY1) == HIGH);//等待松开按键 } } if(digitalRead(KEY2) == LOW) { delay(20); if(digitalRead(KEY2) == LOW) { //驱动步进电机 if(clFlag = 1) { clFlag = 0;//禁止再次驱动步进电机 setAngle1(60); } while(digitalRead(KEY2) == LOW);//等待松开按键 } } }
时间: 2023-06-08 14:03:36 浏览: 76
使用millis()函数替代使用Delay-项目开发
这段代码是一个函数,是用来读取按键状态并执行一些相应操作的。首先,函数会检测 KEY1 是否被按下,如果是的话,会执行 LED 开启或关闭的操作;其次,函数会检测 KEY2 是否被按下,如果是的话,会驱动步进电机转动一个特定角度。代码中包含一些延时和等待松开按键的逻辑,以保证按键操作的正确性。
阅读全文