Zitat Zitat von navyseal
reicht da nicht eine uart_putchar(char c) funktion?

int uart_putchar(char c) // deklarat.
{
pin_led18on;
uart_putchar('K');
return 0;
}

und die funktion über uart_putchar(c) aufrufen oder? aber irgendwie klappt das einfach nit

mfg navyseal
Vielleicht weil sich das aufhängt in einer Endlosrekursion...?

Mit printf und Konsorten ist es natürlich viiiel bequemer, aber die fressen eben mächtig Speicher und brauchen sogar ne dynamische Speicherverwaltung. Ist schon einiges an Overhead, sowohl was Flash- RAM- und Laufzeitverbrauch angeht. Auch deshalb bietet die avr-libc keine Vollimplementierung von xprintf, wie ober schon erwähnt.
Auf nem PC sind das alles peanuts, aber auf nem kleinen AVR spielt man eben in einer anderen Liga. Was bringt einem Comfort, wenn man sonst kaum mehr was tun kann oder man ewig in den xprintf Routinen rumschnarcht?