buon giorno a tutti,
vorrei chiedere se è possibile stampare sul terminale ( monitor) di Arduino) a colonne ben definite
al fine di avere dei dati incolonnati: se si, come si fa ?
Grazie
ciao
Puoi usare sprintf()
o snprintf()
(Leggi la documentazione sui formati)
char lineBuffer[80];
long a, b;
void setup() {
Serial.begin(115200); // monitor seriale a 115200 baud
Serial.println(F("\n*** Destra ***"));
for (int i = 0; i < 10; i++) {
a = random(-100000, 100000);
b = random(-100000, 100000);
snprintf(lineBuffer, 80, "%10ld + %10ld --> %10ld", a, b, a + b);
Serial.println(lineBuffer);
}
Serial.println(F("\n*** Sinistra ***"));
for (int i = 0; i < 10; i++) {
a = random(-100000, 100000);
b = random(-100000, 100000);
snprintf(lineBuffer, 80, "%-10ld + %-10ld --> %-10ld", a, b, a + b);
Serial.println(lineBuffer);
}
Serial.println(F("\n*** 0 Padding ***"));
for (int i = 0; i < 10; i++) {
a = random(-100000, 100000);
b = random(-100000, 100000);
snprintf(lineBuffer, 80, "% 010ld + % 010ld --> % 010ld", a, b, a + b);
Serial.println(lineBuffer);
}
}
void loop() {}
--> il monitor seriale a 115200 baud
*** Destra ***
-83193 + -24751 --> -107944
-49927 + 43658 --> -6269
8930 + -88728 --> -79798
-72456 + -49122 --> -121578
77923 + -62291 --> 15632
64440 + -61835 --> 2605
-15508 + -56958 --> -72466
-92013 + 22503 --> -69510
-17673 + 31729 --> 14056
78840 + 42612 --> 121452
*** Sinistra ***
44303 + -66831 --> -22528
-82291 + -2843 --> -85134
29560 + 70933 --> 100493
-6901 + -19722 --> -26623
51816 + 95335 --> 147151
-903 + -92174 --> -93077
-86488 + 29267 --> -57221
23810 + -22367 --> 1443
80979 + 79149 --> 160128
-63421 + 58821 --> -4600
*** 0 Padding ***
000011967 + -000089328 --> -000077361
000001393 + -000080664 --> -000079271
000025485 + -000008255 --> 000017230
-000074772 + -000005909 --> -000080681
-000059806 + 000086357 --> 000026551
-000064999 + 000021153 --> -000043846
-000083292 + 000057944 --> -000025348
000015668 + 000071490 --> 000087158
000088124 + 000002196 --> 000090320
000009530 + -000039097 --> -000029567
Puoi anche usare il carattere di tabulazione '\t' ma hai meno controllo rispetto a snprintf()
grazie mille per la soluzione suggerita
ciao
This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.