0
我想問。 我在做使用串行監視器的LED項目。 如果串行監視器1的按鍵被按下一次,LED 1將點亮,直到我按下串行監視器2的第二個按鍵並且LED 2將亮起。ARDUINO:價值和串行顯示器
我該怎麼做? by delay()?或hold()?
我想問。 我在做使用串行監視器的LED項目。 如果串行監視器1的按鍵被按下一次,LED 1將點亮,直到我按下串行監視器2的第二個按鍵並且LED 2將亮起。ARDUINO:價值和串行顯示器
我該怎麼做? by delay()?或hold()?
您不能使用delay()
,因爲無法確定下一個按鍵所用的時間。
您可以使用標誌,如下面展示
int ledPin1 = 8, ledPin2 = 9;
boolean flag1, flag2;
void setup()
{
Serial.begin(9600);
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
}
void loop()
{
if(Serial.available())
{
int c = Serial.read();
if(c == 49) { // 1 is pressed
flag1 = true;
flag2 = false;
}
else if(c == 50) { // 2 is pressed
flag2 = true;
flag1 = false;
}
}
if(flag1) {
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, LOW);
}
if(flag2) {
digitalWrite(ledPin1, LOW);
digitalWrite(ledPin2, HIGH);
}
delay(50);
}
希望這有助於。
http://stackoverflow.com/help/how-to-ask –