Hallo,

das Problem könnte auch ein Vorzeichenfehler sein
(uint ungeschickt zu int konvertiert)

Versuch doch mal alle deine Variablen auf einem Datentyp zu halten (die Form uint8_t ist am besten).

Bei der Funktion usart_putc ist char noch zu rechtfertigen, aber versuch mal unsigned char, da du die Variable in ein Register schreibst.


Viele Grüße,
Max