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

本文关键字:命令 readString 可以 Arduino | 更新日期: 2023-09-27 18:28:10

我的代码有问题,昨天它对我来说很好,但当我更改一件事时,它不起作用,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)显示;但如果我键入"嗨"(没有引号),if(readString=="嗨")似乎不起作用。

有人知道如何解决if语句识别出Hi I send的问题吗?

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

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

我和您一样发送了类似的错误。你可以试试这个;

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

字符串一是"嗨",字符串二是readString。

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