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






Zitieren

Lesezeichen