Zitat Zitat von Psiyou
Hallo,
soweit alles richtig, würde allerdings "i<strlen(data)" gegen "*(data+i)" (bzw "data[i]" was genau das gleiche ist) austauschen(natürlich ohne die ").
Da ist der Rechenaufwand für den Prozessor wesentlich geringer.
Wenn Du Verständnissprobleme hast, meld Dich einfach.
Philipp
Also um Effizienz ging es auch nicht, sondern erst mal ums Verständnis,
und da ist der Code von casa74 genau richtig.

Zum Verständnis ist so was wie

Code:
void USART_puts (char *data)
{
	char c;
	
	while (c = *(data++), c)
		USART_putc (c);
}
nicht gerade hilfreich.