Hallo,
ursprünglich war das so mit demString gedacht. Leider scheint die String-Klasse in der Arduino Umgebung einige Quirks zu haben, die zu diesem Kuddelmuddel führen können. Da ich zwar schon 'ne Weile programmiere aber neu in der Arduino Welt bin, lerne ich diese Besonderheiten gerade erst kennen.
Zu Deiner Frage der Umwandlung: eigentlich sollte das die String-Klasse mit ihren überladenen '+' und '+=' Operatoren automatisch machen, leider klappt das nicht immer sauber.
Erstmal muß man den String wohl immer ordentlich initialisieren
Code:
String out_s = String("Init"); // mindestens
String other = String();
ob die letztere Variante als ordentlich gilt, kann ich hier gerade nicht probieren.
Außerdem steht in der Doku:
Caution: You should be careful about concatenating multiple variable types on the same line, as you may get unexpected results.
sprich wenn ich mit '+' zwei unterschiedliche Datentypen "addiere", kann besagter Kuddelmuddel rauskommen. Das Gleiche gilt wohl auch für '+='
https://www.arduino.cc/en/Tutorial/S...ditionOperator
sicherer ist wohl immer nur einstellig zu arbeiten
Code:
String out_VL = String(" "); // keinen Leerstring verwenden
out_VL += millis();
out_VL += " "; out_VL += tmp_VL;
out_VL += " "; out_VL += tmp_VL_ges;
out_VL += " "; out_VL += v;
Serial.print (out_VL);
Serial.flush()
Ist zwar mehr Tipparbeit aber spart einem die Zeit beim Suchen wenn es mal nicht klappt.
Sollte das trotzdem nicht gehen, dann bleibt einem nix anderes übrig als das gewohnte Serial.print/ln zu verwenden.
Außerdem wäre es gut, die Baudrate so hoch wie möglich einzustellen. Also Serial.begin(115200) oder höher und entsprechend im Serial Monitor abändern.
Gruß
Chris
Lesezeichen