Hallo,

void int_to_char (uint16_t a, char* target)
das hier ist gut und wichtig. Es wird nur der Zeiger auf den Speicherbereich für den String an die Funktion übergeben. Die Reservierung des Speichers erfolgt außerhalb. Wir der Speicher für den String innerhalb der Funktion reseviert, gibt es ein kleines fieses Gültigkeitsproblem.
Gruß

Jens