Non saprei dire, purtroppo C/Arduino ultimamente li sto usando molto poco quindi sono arrugginito.
In ogni caso io mando un payload e lo divido per mille e lo inserisco in indata
dtostrf(lastPayload.time/1000.0, 0, 3, indata);
In ogni caso (che lo inizializzi con 6 o 7 char) se faccio un print di indata vedo un carattere strano in coda e se lo uso per lvgl così com’è, in combinazione alla scelta dello stile con array, mi printa cose strane.
In effetti se uso semplicemente il puntatore di stile o una variabile contenente esso nessun problema.
Se però vado a forzare il terminatore sovrascrivendo l’ultimo carattere, il quadratino vuoto che vedevo con print sparisce e funziona in tutti i casi con lvgl…
La sensazione, che avevo fin dall’inizio, è che per qualche motivo finisca a scrivere su registri limitrofi in qualche condizione.
Perché con questa ‘combinazione’ di casistiche non lo so dire