如题,Arduino在运行以下语句的时候出现了问题,麻烦懂得人告诉我应该怎么弄
if(R=='C'){
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Bluetooth:");
lcd.setCursor(0,1);
lcd.print("Connected");
delay(3000);
}
if(R=='X'){
if(P=100){
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Received:");
lcd.setCursor(0,1);
lcd.print("PIN10_LOW");
digitalWrite(10,LOW);
delay(3000);
}
if(P=101){
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Received:");
lcd.setCursor(0,1);
lcd.print("PIN10_HIGH");
digitalWrite(10,HIGH);
delay(3000);
}
}
Serial.println("Received");
Serial.read();
我是想Arduino在接收到了1C的时候显示“Bluetooth Connected”,在接收到101X的时候设Pin10电平为高并且显示“Received:Pin10_HIGH”,在接收到100X的时候设Pin10电平为低并且显示“Received:Pin10_LOW”。但是在实际运行中,发送1C表现正常,但是发送101X或者100X甚至任意数字加X的时候Arduino却先把电平设成低过了3秒再设成高。经过实验基本确定是if的使用有问题,但是用while的时候就直接卡在这段程序里面不断重复,无论放在哪里都是无限重复出不去,我已经卡在这个地方一个下午,知道哪里错了高手麻烦告诉我一下,小弟不胜感激
if(R=='C'){
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Bluetooth:");
lcd.setCursor(0,1);
lcd.print("Connected");
delay(3000);
}
if(R=='X'){
if(P=100){
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Received:");
lcd.setCursor(0,1);
lcd.print("PIN10_LOW");
digitalWrite(10,LOW);
delay(3000);
}
if(P=101){
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Received:");
lcd.setCursor(0,1);
lcd.print("PIN10_HIGH");
digitalWrite(10,HIGH);
delay(3000);
}
}
Serial.println("Received");
Serial.read();
我是想Arduino在接收到了1C的时候显示“Bluetooth Connected”,在接收到101X的时候设Pin10电平为高并且显示“Received:Pin10_HIGH”,在接收到100X的时候设Pin10电平为低并且显示“Received:Pin10_LOW”。但是在实际运行中,发送1C表现正常,但是发送101X或者100X甚至任意数字加X的时候Arduino却先把电平设成低过了3秒再设成高。经过实验基本确定是if的使用有问题,但是用while的时候就直接卡在这段程序里面不断重复,无论放在哪里都是无限重复出不去,我已经卡在这个地方一个下午,知道哪里错了高手麻烦告诉我一下,小弟不胜感激