Usando Streaming.h, no lugar de
Serial.print("Var 1:");Serial.println(var1);
Serial.print(" Var 2:");Serial.println(var2);
Serial.print(" Var 3:");Serial.println(var3);
alguém pode escrever
Serial << "Var 1:" << var1) << " Var 2:" << var2 << " Var 3:" << var3 << endl;
A definição de <<na Streaming.hverdade traduz isso em uma série de Serial.print()chamadas comuns . Ou seja, <<é o açúcar sintático, implementado sem aumentar o tamanho do código.
Se você não tiver Streaming.hinstalado, começar Streaming5.zipa partir arduiniana.org . Descompacte-o no diretório de bibliotecas, por exemplo, em ~/sketchbook/libraries. Adicione a linha #include <Streaming.h>nos esboços onde você usa <<como operador de fluxo.
Os especificadores de conversão base _HEX, _DEC, _OCT e _BIN são fornecidos, bem como uma função _FLOAT (com número de casas decimais) e endl. Por exemplo, para imprimir valores de latitude e longitude em um formato como "Suas coordenadas são -23.123, 135.4567", pode-se escrever:
Serial << "Your coordinates are " << _FLOAT(latitude,3) << ", " << _FLOAT(longitude,4) << endl;
Isso também pode ser escrito como
Serial << F("Your coordinates are ") << _FLOAT(latitude,3) << ", " << _FLOAT(longitude,4) << endl;
que manteria a seqüência mais longa no PROGMEM em vez de trazê-la para a RAM.
Observe Streaming.h que não cria nenhuma string como tal; apenas entrega o texto de seus <<argumentos a um fluxo. Uma classe PString na arduiniana pode construir cadeias de caracteres de entradas de fluxo, se forem desejadas ou necessárias cadeias em vez de saída de fluxo.