Використання Streaming.h
, замість
Serial.print("Var 1:");Serial.println(var1);
Serial.print(" Var 2:");Serial.println(var2);
Serial.print(" Var 3:");Serial.println(var3);
можна писати
Serial << "Var 1:" << var1) << " Var 2:" << var2 << " Var 3:" << var3 << endl;
Визначення <<
в Streaming.h
фактично переводить , що в серію звичайних Serial.print()
викликів. Тобто <<
синтаксичний цукор, реалізований без збільшення розміру коду.
Якщо вам не Streaming.h
встановлено, отримати Streaming5.zip
від arduiniana.org . Розпакуйте його в каталозі своїх бібліотек, наприклад в ~/sketchbook/libraries
. Додайте рядок #include <Streaming.h>
у ескізи, де ви використовуєтесь <<
як оператор потоку.
Надаються специфікатори базової конверсії _HEX, _DEC, _OCT і _BIN, а також функція _FLOAT (з кількістю десяткових знаків) і endl
. Наприклад, для друку значень широти та довготи у формі, наприклад "Ваші координати - -23.123, 135.4567", можна написати:
Serial << "Your coordinates are " << _FLOAT(latitude,3) << ", " << _FLOAT(longitude,4) << endl;
Це також можна записати як
Serial << F("Your coordinates are ") << _FLOAT(latitude,3) << ", " << _FLOAT(longitude,4) << endl;
який би зберігав довший рядок у PROGMEM замість того, щоб вносити його в оперативну пам'ять.
Зауважте, Streaming.h
не створює жодних рядків як таких; він просто доставляє текст своїх <<
аргументів до потоку. Клас PString в arduiniana може побудувати рядки з потоку входів, якщо рядки замість поточного виведення бажані й необхідні.