Får du *olika* tecken (det finns inga konstiga tecken

om du ändrar TXREG ?
Det hela ser ut som ett baudrate fel.
> om ja kommenterar bort
Gör *INTE* det.
Det är en helt ointressant test som inte ger någonting alls.
> förslag på vad ja kan göra?
1. Verifiera att processorn faktiskt kör i 4 MHz.
Andvänd t.ex inbyggda delay() funktioner istället för looperna
och lägg till blinking av LED eller liknande.
2. Skriva nya testprogram, t.ex ett som hela tiden skickar samma
tecken med en liten fördröjning. Så länge som du inte kan få det
att fungera i ena riktingen så är andra riktningen ganska ointressant
och det bara "skymmer sikten" så att säga.
3. Skriv om det i assembler så att du är 100% säker på vad du gör.
EDIT: Glömde :
4. Ge inte upp så jäkla snabbt...

Det finns hur mycket som helst att göra som felsökning.