Arduino readString不能遵循命令

时间:2015-12-28 10:00:57

标签: c# arduino serial-port

我的代码有问题,昨天它对我来说很好,但是当我改变了一件事它不起作用时,CTRL-Z和之前的代码也不再起作用了。

String readString = "";
int Rand = 0;
String Random = "";
void setup() {
    Serial.begin(9600);
}

void loop()
{
    while(!Serial.available());

    while (Serial.available() > 0) {
    delay(3);
    char c = Serial.read();
    readString += c; 
    }
    Serial.print(readString);
    if(readString == "Hi"){
      Rand = random(5100,9999);
      String Random = String(((((Rand - 5) * 2) - 36) / 2 - 3) * 2);
      Serial.print(Random);
    }
    readString = "";
}

这是我的代码,对我来说不起作用的是每当我在串口中输入一个命令时,它就会被Serial.print(readString)显示出来;但如果我输入“Hi”(不带引号),if(readString ==“Hi”)似乎不起作用。

有没有人知道如何解决if语句识别你发送的嗨?

2 个答案:

答案 0 :(得分:0)

我的一位朋友告诉了答案。他说如果你有一个字符串就会有一个新的行字符,那就是tou必须在if语句之前调整变量,执行readString.trim();.

答案 1 :(得分:0)

我发现了类似你的错误。你可以试试这个;

if (stringOne.equals(stringTwo)) { //to do

stringOne是“Hi”,strintTwo是readString。

我希望能为您解决这个问题。