snprintf Problem

%6ld bedeutet dass die Zahl rechtsbündig auf 6 Zeichen Breite formatiert wird. Wenn die Zahl kleiner ist wird mit Leerzeichen aufgefüllt. Also 111 wird zu " 111"

Wenn du im Format-String zusätzlich Leerzeichen angibst kommen die noch extra dazu

z.B.:

void setup()
{
  Serial.begin(9600);

  long value1 = 111;
  long value2 = 2222;

  char buffer[20];
  snprintf(buffer, sizeof(buffer), "%6ld,%6ld", value1, value2);
  Serial.println(buffer);
  snprintf(buffer, sizeof(buffer), "%-6ld, %-6ld,", value1, value2);
  Serial.println(buffer);
}

void loop()
{
}

Ausgabe:

   111,  2222
111   , 2222  ,