Verwenden Sie Streaming.h
anstelle von
Serial.print("Var 1:");Serial.println(var1);
Serial.print(" Var 2:");Serial.println(var2);
Serial.print(" Var 3:");Serial.println(var3);
man kann schreiben
Serial << "Var 1:" << var1) << " Var 2:" << var2 << " Var 3:" << var3 << endl;
Die Definition von <<
in Streaming.h
in effect übersetzt dies in eine Reihe von gewöhnlichen Serial.print()
Aufrufen. Das heißt, es <<
handelt sich um syntaktischen Zucker, der ohne Erhöhung der Codegröße implementiert wird.
Wenn Sie nicht Streaming.h
installiert haben, erhalten Sie Streaming5.zip
von arduiniana.org . Entpacken Sie es in Ihr Bibliotheksverzeichnis, zum Beispiel in ~/sketchbook/libraries
. Fügen Sie die Linie #include <Streaming.h>
in die Skizzen ein, die Sie <<
als Stream-Operator verwenden.
Es werden die Basisumwandlungsspezifizierer _HEX, _DEC, _OCT und _BIN sowie eine _FLOAT-Funktion (mit der Anzahl der Dezimalstellen) und bereitgestellt endl
. Wenn Sie beispielsweise Breiten- und Längengrade in einem Formular wie "Ihre Koordinaten sind -23,123, 135,4567" drucken möchten, können Sie Folgendes eingeben:
Serial << "Your coordinates are " << _FLOAT(latitude,3) << ", " << _FLOAT(longitude,4) << endl;
Dies könnte auch geschrieben werden als
Serial << F("Your coordinates are ") << _FLOAT(latitude,3) << ", " << _FLOAT(longitude,4) << endl;
Das würde den längeren String in PROGMEM behalten, anstatt ihn in den RAM zu bringen.
Beachten Sie, Streaming.h
dass keine Zeichenfolgen als solche erstellt werden. es liefert nur den Text seiner <<
Argumente an einen Stream. Eine PString-Klasse in arduiniana kann Zeichenfolgen aus Stream-Eingaben erstellen , wenn Zeichenfolgen anstelle von Stream-Ausgaben gewünscht oder benötigt werden.