ich hab mal nen programm für nen mega8 geschrieben, wo ich den interrupt für den empfang über die serielle schnittstelle benutzt habe.
hier mal die konfiguration, die ich benutzt habe:
Code:
;konstanten für die baudrate
.equ CLOCK = 16000000
.equ BAUD = 9600
.equ UBRRVAL = CLOCK/(BAUD*16)-1
;konfiguration der seriellen schnittstelle
;--------------------------------------------
; Baudrate einstellen
ldi mpr, LOW(UBRRVAL)
out UBRRL, mpr
ldi mpr, HIGH(UBRRVAL)
out UBRRH, mpr
; Frame-Format: 8 Bit
ldi mpr, (1<<URSEL)|(3<<UCSZ0)
out UCSRC, mpr
; sender und empfänger aktivieren
sbi UCSRB, RXEN
sbi UCSRB,TXEN
sbi UCSRB, RXCIE ;empfangs-interrupt ein
ich hatte das programm erst für nen 90s8515 geschrieben. beim wechsel auf den mega8 hatte ich dann auch nen paar probleme, weil sich einiger registernamen unterscheiden und neue hinzugekommen sind...
Lesezeichen