连接上的arduino循环错误

时间:2018-02-08 23:45:27

标签: arduino-uno

我是arduino的新手,有点坚持一些arduino逻辑。 我正在创建一个arduino来显示使用arduino以太网盾的状态网页。

设置:Arduino:1.8.5(Windows 7),主板:" Arduino / Genuino Uno"

这首先似乎是逻辑:

for (int i = 0; i < 10 ; i++)
{
  client.println("Line :");
  client.println(i);
  client.println("<br>");
}

它会输出这个,作为已经过期的

Line : 0 
Line : 1 
Line : 2 
Line : 3 
Line : 4 
Line : 5 
Line : 6 
Line : 7 
Line : 8 
Line : 9 

现在,如果我想在代码中连接&#34; Line:&#34; i

我的代码将是这样的:

for (int i = 0; i < 10 ; i++)
{
  client.println("Line :" + i);
  client.println("<br>");
}

我希望看到与上面相同的输出,但实际上,我看到了:

Line : 
ine : 
ne : 
e : 
: 
: 

我从不使用子字符串或其他字符串函数来删除每一行的第一个字符,那么arduino如何处理这个?

第二个问题,所以当我在我的代码中连接所有内容时,如下所示:

client.println("Line :" + i + "<br>");

我有这个错误:

exit status 1
invalid operands of types 'const char*' and 'const char [5]' to binary 'operator+'

我想,&#34; +&#34;运算符是串联?

1 个答案:

答案 0 :(得分:1)

Arduino 1.1 1.10 1.2 1.3 不支持以您正在使用的常规形式连接。你有两个选择:

1-如您已经尝试过的,一个接一个地使用多个Serial.print()命令。

2-为Arduino使用“Streaming”库。在你的情况下,语法将是这样的:

Serial.print()

有关详情,请查看此链接: http://arduiniana.org/libraries/streaming/