Ich bin eher Assembler-Mensch drum kann ich jetzt auch nicht so direkt auf deinen Code eingehen, aber was bei mir anfänglich ewig zu Fehlern geführt hat, war die Tatsache das das UART nur ASCII127 benutzt und das Höchstwetigste Bit immer 1 ist, hilft dir das weiter ? du solltest also am anfang alle restlichen bits erstmal ausmaskieren ... soweit so gut

Julian