Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Arduino readString可以';不要听从命令_C#_Arduino_Serial Port - Fatal编程技术网

C# Arduino readString可以';不要听从命令

C# Arduino readString可以';不要听从命令,c#,arduino,serial-port,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) {

我的代码有一个问题,昨天它对我来说工作得很好,但是当我改变一件事时它就不工作了,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语句识别我发送的Hi吗?

我的一个朋友告诉了我答案。他说,如果你有一个字符串,其中会有一个新行字符,方法是你必须在if语句之前修剪变量,执行readString.trim()

我和你一样也发过类似的错误。你可以试试这个

if (stringOne.equals(stringTwo)) { //to do
stringOne是“Hi”,StringTwo是readString


我希望能为您解决此问题。

我不知道(readString==“Hi”)是否正常工作?Serial.print(readString)的输出是什么;?是的,也放一些你的控制台日志。。