gpt4 book ai didi

c++ - 困惑Arduino处理字符串的方式

转载 作者:行者123 更新时间:2023-11-28 07:16:37 24 4
gpt4 key购买 nike

void setup()
{
Serial.begin(9600); //Set serial baud rate 9600
pinMode(13,OUTPUT); //Set LED for output
}
String str;
void loop()
{
if(Serial.available() > 0)
{
char ch = Serial.read();
str += ch;
}
if (str == "Hi")
{
digitalWrite(13,HIGH); //Turns on the LED if "Hi" is entered.
}
if (str == "Bye")
{
digitalWrite(13,LOW); //Turns off the LED if "Bye" is entered.
}
}

我有一个问题。我想我并不确切知道 Arduino 在读取 String 时是如何工作的。这是我的素描。如您所见,它的目的是在输入“Hi”时打开 LED,在输入“Bye”时关闭 LED。这编译得很好,但每当我连接串口,上传它并打开带有“Hi”字样的 LED 时,我无法用“Bye”字样关闭 LED。另外,如果我先输入“Bye”然后输入“Hi”,LED 不会亮起。

我的代码有什么问题?我该如何修改它?

最佳答案

好吧,在我看来你应该在命中后清除你的 str var。因为它听起来像是对第一个字符串有效,但对第二个字符串无效。

一旦检测到 Hi 或 Bye,就可以设置输出并清除 str。

关于c++ - 困惑Arduino处理字符串的方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20125699/

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