gpt4 book ai didi

serial-port - 如何比较 Serial.read() 中的字符串?

转载 作者:行者123 更新时间:2023-12-04 13:08:17 26 4
gpt4 key购买 nike

我在下面有这个代码,我来自 this forum我遵循了。它对我不起作用,但他们声称代码很好。我已经尝试了几种字符串比较方法,例如 string.equals(string)和标准==运营商,仍然没有运气。

int ledPin = 13;
String readString;

void setup() {
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
Serial.println("serial on/off test 0021"); // so I can keep track
}

void loop() {
while (Serial.available()) {
delay(3);
char c = Serial.read();
readString += c;
}
if (readString.length() >0) {
if (readString == "on") {
Serial.println("switching on");
digitalWrite(ledPin, HIGH);
}
if (readString == "off") {
digitalWrite(ledPin, LOW);
}
readString="";
}
}

最佳答案

我可以通过简单地添加 readString.trim(); 来解决昨晚的问题在字符串比较之前。这是因为将有换行符,其中 id 没有在 arduino 控制台中打印任何内容。

我将函数放在下面的代码中:

int ledPin = 13;
String readString;

void setup() {
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
Serial.println("serial on/off test 0021"); // so I can keep track
}

void loop() {

while (Serial.available()) {
delay(3);
char c = Serial.read();
readString += c;
}
readString.trim();
if (readString.length() >0) {
if (readString == "on"){
Serial.println("switching on");
digitalWrite(ledPin, HIGH);
}
if (readString == "off")
{
Serial.println("switching off");
digitalWrite(ledPin, LOW);
}

readString="";
}
}

关于serial-port - 如何比较 Serial.read() 中的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24961402/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com