如何在 Arduino 中使用 Serial.println 在同一行中打印文本和变量的值
how to print text and variable's values in the same line with Serial.println in Arduino
我有这个代码:
Serial.print("x:");
Serial.print(x);
Serial.print(" y: ");
Serial.println(y);
并且工作正常。有一个输出示例:
x:41 y: 31
但我想知道是否有一种方法可以将这四个句子写成一个,例如:
Serial.println("x:"+x+" y:"+y);
那个returns一个错误:
invalid operands of types 'const char*' and 'const char [4]' to binary 'operator+'
有什么想法吗?提前致谢。
当您需要将值的组合和这些值的描述显示为一个字符串以通过串行通信显示时,字符串连接非常有用。
int sValor = analogRead(A5);
String StrUno = "Valor Sensor N°5: ";
String StrDos = StrUno + sValor ;
Serial.println(StrDos);
我们可以连接多个值,将所有数据组成一个字符串,然后发送。
这也可以与 LCD dislpay 一起使用。
有一个更快的方法:
只需将您的输出直接转换为字符串:
Serial.println((String)"x:"+x+" y:"+y);
无论哪种方式,都需要从 int 到 String 的显式转换,就像在 Guest 的 post 中看到的那样 - 通过以下方式为我工作:
String(intVariable)
在 user3923880 的 post 中缺少此代码,代码在我的 Arduino IDE(版本 1.8.13)中不起作用。什么对我有用,例如:
String outString = stringVar1 + '\t' + String(time) + '\n';
Serial.print(outString);
\t 是制表符,\n 是换行符。
另一种可能是这样的:
char buffer[40];
sprintf(buffer, "The %d burritos are %s degrees F", numBurritos, tempStr);
Serial.println(buffer);
我有这个代码:
Serial.print("x:");
Serial.print(x);
Serial.print(" y: ");
Serial.println(y);
并且工作正常。有一个输出示例:
x:41 y: 31
但我想知道是否有一种方法可以将这四个句子写成一个,例如:
Serial.println("x:"+x+" y:"+y);
那个returns一个错误:
invalid operands of types 'const char*' and 'const char [4]' to binary 'operator+'
有什么想法吗?提前致谢。
当您需要将值的组合和这些值的描述显示为一个字符串以通过串行通信显示时,字符串连接非常有用。
int sValor = analogRead(A5);
String StrUno = "Valor Sensor N°5: ";
String StrDos = StrUno + sValor ;
Serial.println(StrDos);
我们可以连接多个值,将所有数据组成一个字符串,然后发送。 这也可以与 LCD dislpay 一起使用。
有一个更快的方法: 只需将您的输出直接转换为字符串:
Serial.println((String)"x:"+x+" y:"+y);
无论哪种方式,都需要从 int 到 String 的显式转换,就像在 Guest 的 post 中看到的那样 - 通过以下方式为我工作:
String(intVariable)
在 user3923880 的 post 中缺少此代码,代码在我的 Arduino IDE(版本 1.8.13)中不起作用。什么对我有用,例如:
String outString = stringVar1 + '\t' + String(time) + '\n';
Serial.print(outString);
\t 是制表符,\n 是换行符。
另一种可能是这样的:
char buffer[40];
sprintf(buffer, "The %d burritos are %s degrees F", numBurritos, tempStr);
Serial.println(buffer);