在Arduino Uno上的项目中,我需要这样输入字符串:
DDRS,parm1,parm2,...parm4 <cr>
参数的数量是可变的,但是至少一个但不能超过4,并且定界符始终是逗号。
命令只能是3个或4个字符的ASCII
我将命令放入这样的数组中:
char* Str[6] = {"ANA", "ANAR, "DDR", "DDRS", "DIGW", "DIGR"};
阅读一行
void loop()
{
if (Serial.available() == 0) return;
String Line = Serial.readStringUntil('\n'); /* \r == CR */
int ComPos = Line.indexOf(',');
String Cmd = Line.substring(0,ComPos);
/* here for test purposes */
Serial.print(Line);
Serial.print(" ");
Serial.print(Cmd);
Serial.println();
for (int n = 0; n < 6; ++n)
{
if (Str[n] == Cmd)
{
Serial.print("OK på index[");
Serial.print(n);
Serial.print("]");
Serial.println();
}
}
}
}
但是我的问题是,它不起作用。我猜是因为Cmd
是字符串,Str
是char*
。
我已经在网上(也是Arduino社区)搜索了执行该程序的例程。我找不到任何内容(可能是我搜索错误),所以我被困在这里。
此索引号将在以后用于(某些)更多区分。
有人可以帮忙吗?