Hallo,
da ich gemerkt habe dass meine Frage quatsch ist hab ich sie zurückgenommen und stelle eine andere...
Beim komplieren des Programms bekomme ich folgende Fehlermeldung:
D:\Arbeitsverzeichnis\AVRStudio\test1.asm(24): error: Overlap in .cseg: addr=0x9 conflicts with 0x9:0xa
Kommentiere ich eine der beiden Interrupt-Vektoren aus, ist die Fehlermeldung weg
keine Ahnung woran das liegen mag
Code:
.INCLUDE <m8def.inc>
.def temp = r17
.equ TIMERWERT_A = 100
;------------------------------------------------------
; Start Adresse 0000 /Interruptvektoren
;------------------------------------------------------
.org 0x000
rjmp Init ; Interruptvektoren überspringen
.org OVF0addr
rjmp Timer0_Interrupt ;Multiplexing
.org OC1Aaddr
rjmp Timer1A_Interrupt ;Daten holen
;------------------------------------------------------
; INITIALIZE
;------------------------------------------------------
INIT:
;Stack Pointer setzen
ldi temp,high(RAMEND)
out SPH,temp
ldi temp,low(RAMEND)
out SPL,temp
;Timer1 einstellen
ldi temp,HIGH(TIMERWERT_A)
out OCR1AH,temp ; Vergleichsregister (LowByte) mit Var Timerwert laden
ldi temp,LOW(TIMERWERT_A)
out OCR1AL,temp ; Vergleichsregister (HighByte) mit Var Timerwert laden
ldi temp,(1<<CS12)|(1<<WGM12) ; Prescaler, Systemtakt durch 256 teilen
out TCCR1B,temp ; und Timer im CTC-Modus, siehe Tabelle S.99
;Timer0 einstellen
ldi temp,(1<<CS00) ;Timer0 freigeben, keine Teilung des Systemtaktes
out TCCR0,temp
;Interrupt für Timer0/1 einstellen
ldi temp,(1<<TOIE0)|(1<<OCIE1A)
out TIMSK,temp
sei ; globale Interruptfreigabe
;------------------------------------------------------
; HAUPTSCHLEIFE
;------------------------------------------------------
Hauptschleife:
rjmp Hauptschleife
Timer0_Interrupt:
reti
Timer1A_Interrupt:
reti
;------------------------------------------------------
; ENDE
;------------------------------------------------------
Ende:
rjmp Ende
Gruß, JK
Lesezeichen