2

讨厌发布这个,但我用谷歌搜索并尝试了许多不同的选项,但没有成功。

基本上我想获取一个状态为 10 个灯的页面并打开/关闭相应的灯。Arduino 正在获取结果并将字符串发布到串行监视器中,但字符串没有触发我的 if 语句。不确定我是否使用错误的函数来解析字符串或我的 if 语句不正确。

这是 GET 的输出,它在串行监视器中发布(打印readString):

Light1:1 Light2:0 Light3:0 Light4:0 Light5:0 Light6:1 Light7:0 Light8:1 Light9:0 Light10:0

这是我在草图中尝试的最后一件事,每个灯都有一个 if 语句:

if (readString.indexOf("Light1:1">0)) 
{
    digitalWrite(light1, HIGH);
}
else
{ 
    digitalWrite(light1, LOW);  
}

你会使用什么功能?我究竟做错了什么?重构页面的输出也是一种选择。

4

2 回答 2

2

可能的错字...您在.indexOf()通话中进行了比较。你的意思

if (readString.indexOf("Light1:1") >= 0) 
于 2012-09-12T21:57:10.133 回答
1

字符串将从位置 0 开始。使用 >= 0

于 2012-09-12T06:22:39.243 回答