ich habe total keine ahnung, das hier ist mein source code:
.include "m16def.inc"
.def temp = r16
.equ CLOCK = 10000000
.equ BAUD = 300
.equ UBRRVAL = CLOCK/(BAUD*16)-1
; Stackpointer initialisieren
ldi temp, LOW(RAMEND)
out SPL, temp
ldi temp, HIGH(RAMEND)
out SPH, temp
; Baudrate einstellen
ldi temp, LOW(UBRRVAL)
out UBRRL, temp
ldi temp, HIGH(UBRRVAL)
out UBRRH, temp
; Frame-Format: 8 Bit
ldi temp, (1<<URSEL)|(3<<UCSZ0)
out UCSRC, temp
sbi UCSRB,TXEN ; TX aktivieren
loop: ldi temp, 'l'
rcall serout ; Unterprogramm aufrufen
ldi temp, 'u'
rcall serout ; Unterprogramm aufrufen
ldi temp, 'p'
rcall serout ; ...
ldi temp, 'i'
rcall serout
ldi temp, 'n'
rcall serout
rjmp loop
serout:
sbis UCSRA,UDRE ; Warten bis UDR für das
nächste
; Byte bereit ist
rjmp serout
out UDR, temp
ret ; zurück zum Hauptprogramm
Also ist eine Baudrate von 57600 mit 10mhz nicht möglich oder wie? :(