如何在Arduino中使用Serial.println在同一行中打印文本和变量的值

时间:2016-08-16 19:54:04

标签: arduino-ide

我有这段代码:

 Serial.print("x:");
 Serial.print(x);
 Serial.print(" y: ");
 Serial.println(y);

并且工作正常。这是一个输出的例子:

x:41 y: 31

但是我想知道是否有办法用以下的方式将四个句子写成:

Serial.println("x:"+x+" y:"+y);

返回错误:

invalid operands of types 'const char*' and 'const char [4]' to binary 'operator+'

有什么想法吗?提前谢谢。

3 个答案:

答案 0 :(得分:3)

当您需要将值的组合和这些值的描述显示在一个String中以通过串行通信显示时,字符串连接非常有用。

 int sValor = analogRead(A5); 
 String StrUno = "Valor Sensor N°5: ";
 String StrDos = StrUno + sValor ;
 Serial.println(StrDos);  

我们可以连接多个值,形成一个包含所有数据的字符串,然后发送它。 这也可以用于LCD dislpay。

答案 1 :(得分:1)

有一种更快的方法: 只需将您的输出直接转换为字符串:

Serial.println((String)"x:"+x+" y:"+y);

答案 2 :(得分:1)

无论哪种方式,都需要进行从 int 到 String 的显式转换,如 Guest 的帖子中所见 - 以以下方式为我工作:

String(intVariable)

在 user3923880 的帖子中,缺少此代码并且该代码在我的 Arduino IDE(版本 1.8.13)中不起作用。什么对我有用,例如:

String outString = stringVar1 + '\t' + String(time) + '\n'; 
Serial.print(outString);

\t 是制表符分隔符,\n 是换行符。