我正尝试使用Serial:
通过USB端口与我的Arduino进行通信int previous;
int current = 0;
void turnOn(int pinNumber){
previous = current;
current = pinNumber;
if(previous!=0){
digitalWrite(previous, LOW);
digitalWrite(current, HIGH);
}else{
digitalWrite(current, HIGH);
}
}
void setup(){
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
Serial.begin(9600);
Serial.write(1);
}
void loop(){
delay(1);
if(Serial.available()>0){
switch(Serial.read()){
case 0:
turnOn(8);
break;
case 1:
turnOn(9);
break;
case 2:
turnOn(10);
break;
default:
Serial.println(Serial.read());
}
}
}
我正在努力,如果我发送0,最右边的LED将亮起,如果我发送1,中间的将会发出,如果我发送2最左边的将。但是,当我发送0,1或其他任何内容时,它会打印-1表示已触发默认开关。我该如何解决?
答案 0 :(得分:4)
试试这个......
void loop(){
if (Serial.available()) {
char input = Serial.read();
if(input == '0'){
turnOn(8);
}else if(input == '1'){
turnOn(9);
}else if(input == '2'){
turnOn(10);
}
}
}
告诉我它是否有效然后我们可以继续:)