Ich danke dir für deine schnelle Ausführung Searcher.
Ich meinte selbstverständlich Atmel Studio 6.2, das Programm soll rein dazu dienen mir im Simulator anzuschauen wie die Interruptroutine angesprungen wird.
Das die falschen Register im out stehen, liegt daran das ich gestern die einmal anders angeordnet hatte, hatte zuvor nur das Register 16 benutzt. Leider habe ich den Wald vor...
Der Simulator macht eigentlich genau das was ich mir auch im Kopf vorgestellt habe.
Hier nochmal der Code:
Die zwei () Kommentare sind meine Meinungen, was das Programm tut und was es wirklich macht.Code:.include "m8def.inc" rjmp main ; Reset Handler (Hier sollte das Programm direkt zum main target springen! TUT er auch.) reti ; IRQ0 Handler (Schaut sich das Programm nicht mehr an) reti ; IRQ1 Handler reti ; Timer2 Compare Handler reti ; Timer2 Overflow Handler reti ; Timer1 Capture Handler reti ; Timer1 CompareA Handler reti ; Timer1 CompareB Handler reti ; Timer1 Overflow Handler rjmp interrupt ; Timer0 Overflow Handler reti ; SPI Transfer Complete Handler reti ; USART RX Complete Handler reti ; UDR Empty Handler reti ; USART TX Complete Handler reti ; ADC Conversion Complete Handler reti ; EEPROM Ready Handler reti ; Analog Comparator Handler reti ; Two-wire Serial Interface Handler reti ; Store Program Memory Ready Handler main: ;Initializiere Stackpointer ldi r17, HIGH(RAMEND) out SPH, r17 ldi r17, LOW(RAMEND) out SPL, r17 sei ldi r16, 0xFF ;setze B als Ausgang out DDRB, r16 ldi r16, 0x01 ; setze Pin 1 als High. ldi r17, (1<<CS00) out TCCR0, r17 ldi r17, (1<<TOIE0) out TIMSK, r17 loop: rjmp loop (Hängt dann hier fest obwohl TOV0 und TOIE0 ausgelöst wurden. I Bit ist gesetzt durch sei) interrupt: out PORTB, r16 com r16 ret







Zitieren
Hoffentlich liegt das Ziel auch am Weg 

Lesezeichen