Das ist ein AVR? Sieht mir eher nach 8051 aus...

Auf 8051 hatte ich mal Probleme mit der Baudrate, die nicht so war wie im Manual beschrieben, war der Faktor 2 bzw 0.5, und Baudrate verdoppeln ging auch nicht.

Hier mal ein Assembler-Schnippsel aus meinem Uralt-Code, vielleicht hilft dir das irgendwie weiter:
Code:
MOV	TMOD, #$21			' Timer0 auf 16 Bit intern und
					' Timer1 auf 8 Bit autoreload
SETB	PS				' Serial hat Priorität
CLR	PT0
SETB	ET0				' Timer0 aktivieren
CLR	ET1				' Timer1 nicht aktivieren
CLR	ES				' Serial deaktivieren

' Timer auslösen
MOV	TL0, #$ff
MOV	TH0, #$ff
MOV	TL1, #$ff


SETB	SM0				' 9 Bit UART mit Timer 1
SETB	SM1				'        "
CLR	SM2				' keine Multiprozessor Kommunikation
CLR	REN				' Serial Receive sperren
CLR	RI				' nichts empfangen
CLR	TI				' nichts gesendet

MOV	TH1, #$ff			' f4 = -12: 9600 Baud bei 22.1184 MHz
MOV	TL1, TH1
SETB	PCON.7			' ...dazu muß die Baudrate verdoppelt werden

SETB	EA				' Interrupts aktivieren
SETB	TR0				' Timer0 starten
SETB	TR1				' Timer1 starten