我有这段代码:
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+'
有什么想法吗?提前谢谢。
答案 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 是换行符。