Wo liegt der Fehler im Interruptvector

Gast #164065
Lesenswert?

Hallo

Nachdem ich mein Program nicht lief habe ich die Interruptvectoren
andere angesprochen. Wenn ich nur die einzelnen mit Vectoren mit
Adresse anspreche geht es. Wenn ich es mit der Liste und "Reti"
mache
geht es nicht. Was mache ich falsch?


.include "m16def.inc"

.equ CLOCK = 6000000    ;Taktfrequenz für Quarz
.equ BAUD  = 9600    ;Baudrate von RS232
.equ UBRRVAL  = CLOCK/(BAUD*16)-1   ;Berechnen der Baudrate

.def Temp = r16          ;Temporäres Register
.def Send = r17          ;Register für Senden


So läuft die Sache nicht;

rjmp RESET           ;Reset Handler
reti       ;IRQ0 Handler
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
reti      ;Timer0 Overflow Handler
reti      ;SPI Transfer Complete Handler
rjmp int_rxc  ;USART RX Complete Handler
reti       ;USART Data Register Empty
reti        ;USART, Tx Complete
reti        ;ADC Conversion Complete
reti        ;EEPROM Ready
reti        ;Analog Comparator
reti        ;Two-wire Serial Interface
reti       ;External Interrupt Request 2
reti        ;Timer/Counter0 Compare Match
reti        ;Store Program Memory Ready




Jetzt mach ich es so und es läuft:

.CSEG
.ORG  $000  rjmp Reset
.ORG  $016  rjmp int_rxc



Gruss

Weihnachtsmann

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren