Utilisation Streaming.h
, à la place de
Serial.print("Var 1:");Serial.println(var1);
Serial.print(" Var 2:");Serial.println(var2);
Serial.print(" Var 3:");Serial.println(var3);
on peut écrire
Serial << "Var 1:" << var1) << " Var 2:" << var2 << " Var 3:" << var3 << endl;
La définition de <<
in Streaming.h
traduit en fait cela en une série d' Serial.print()
appels ordinaires . C'est-à-dire qu'il <<
s'agit d'un sucre syntaxique, mis en œuvre sans augmenter la taille du code.
Si vous n'avez pas Streaming.h
installé, procurez-vous Streaming5.zip
de arduiniana.org . Décompressez-le dans le répertoire de vos bibliothèques, par exemple, dans ~/sketchbook/libraries
. Ajoutez la ligne #include <Streaming.h>
dans les esquisses où vous utilisez en <<
tant qu'opérateur de flux.
Les spécificateurs de conversion de base _HEX, _DEC, _OCT et _BIN sont fournis, ainsi qu'une fonction _FLOAT (avec le nombre de décimales) et endl
. Par exemple, pour imprimer les valeurs de latitude et de longitude dans un formulaire du type "Vos coordonnées sont -23.123, 135.4567", on pourrait écrire:
Serial << "Your coordinates are " << _FLOAT(latitude,3) << ", " << _FLOAT(longitude,4) << endl;
Cela pourrait aussi être écrit comme
Serial << F("Your coordinates are ") << _FLOAT(latitude,3) << ", " << _FLOAT(longitude,4) << endl;
qui conserverait la chaîne la plus longue dans PROGMEM au lieu de la placer dans la RAM.
Remarque, Streaming.h
ne construit aucune chaîne en tant que telle; il ne fait que transmettre le texte de ses <<
arguments à un flux. Une classe PString chez arduiniana peut créer des chaînes à partir d'entrées de flux, si des chaînes au lieu d'une sortie en flux sont souhaitées ou nécessaires.