Gast
#488537
Hallo,
meine uart_printf-Funktion sieht so aus:
void uprintf(u08_t uart, const char * fmt, ...) {
char buffer[200];
va_list ap;
va_start(ap, fmt);
sprintf(buffer, fmt, ap);
va_end(ap);
uart_puts(uart, buffer);
}
Wenn ich diese allerdings testweise mit z.B.
int testvar = 10;
uart_printf(UART0, "Hello world! Testvar: %d", testvar);
aufrufe, dann wird zwar der Text einwandfrei ausgegeben, aber ich kann
keine Zahlen korrekt ausgeben. Statt der 10 wird dann - 15872
ausgegeben.
Ich dachte erst, das liegt an meiner Funktion, aber mit
char buffer[200];
int testvar = 10;
sprintf(buffer, "Hello world! Testvar: %d", testvar);
uart_puts(UART0, buffer);
Gibts die selben Probleme.
Woran mag liegen? Was mache ich falsch?