Ciao a tutti.
Mi sono imbattuto in questo codice. Permette di usare la classica printf() verso la Serial di Arduino Uno (provato con quella e non con altre board ma penso sia in generale valido).
Magari è una cosa nota, ma almeno a me, era sconosciuta:
FILE serial_stdout;
int serial_putchar(char c, FILE* f) // Function that printf and related will use to print
{ if (c == '\n') serial_putchar('\r', f);
return Serial.write(c) == 1 ? 0 : 1;
}
void setup()
{ Serial.begin(9600);
// Set up stdout for printf() use
fdev_setup_stream(&serial_stdout, serial_putchar, NULL, _FDEV_SETUP_WRITE);
stdout = &serial_stdout;
printf("My favorite number is %d!\n", 42);
}
void loop()
{
}
Per la cronaca, comunque il %f non funziona, quindi come per la sprintf()