@oberallgeier

Wenn ich dich richtig verstehe, geht es um diese Zeile:

uputs0 ( utoa(val, buffer, 10) );

Da verbrauchen zwei Funktionen Zeit: utoa() und uputs0(). Versuch die Zeiten mal zu messen. Mal so als Pseudocode:

setportbit();
utoa(val, buffer, 10);
clearportbit();
uputs0(buffer);

Wenn man das Portbit auf dem Scope ansieht, kann man die "utoa-Zeit" messen, die "uputs0-Zeit" kann man an der TX-Leitung der seriellen ansehen.

MfG Klebwax