gpt4 book ai didi

c++ - Arduino不接受多个命令

转载 作者:行者123 更新时间:2023-11-28 05:30:36 25 4
gpt4 key购买 nike

我正在尝试用我的 Arduino 完成基础工作,因此我从小处着手。

就是说,我希望 Arduino 监听从我的 Raspberry Pi 发送的简单的多个命令(不过,我现在正在通过串行监视器模拟它)

这是我正在使用的代码:

#include "SoftwareSerial.h"

void setup()
{
Serial.begin(9600);
delay(100);
}

void loop() {
if (Serial.find("test1")) {
delay(100);
Serial.println("TEST1 command received");
}
if (Serial.find("test2")) {
delay(100);
Serial.println("TEST2 command received");
}
}
}

可悲的是,只有 test1 命令触发串行打印响应,test2 没有。这里有人能帮我指明正确的方向吗?

谢谢!

最佳答案

通过阅读文档,我认为您不能使用 find()像这样的功能。

考虑当 find("test1") 调用运行时输入 test2 会发生什么。它可能会消耗所有字符,直到并包括 2,然后返回 false,此时这些字符将丢失。

我认为您应该设计一个实际的协议(protocol),在命令之间使用一些分隔符,然后读取/解析它们。

关于c++ - Arduino不接受多个命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39641689/

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