Forum: Mikrocontroller und Digitale Elektronik AVR Interrupt Einsprungadressen


von Weide (Gast)


Lesenswert?

Hallo,

da ahnt man nichts Böses und setzt bei der Initialisierung ganz brav 
hintereinander seine jmp's zu den Interrupts bzw. "reti" bei nicht 
genutzten Interrupts - und muß dann feststellen, dass beim Mega161 (und 
was weiß ich bei welchen noch) sämtliche Einsprungadressen jeweils nur 
alle zwei Worte statt finden - ist das neu?

Gruß Weide

von Peter D. (peda)


Lesenswert?

Das ist nicht brav, sondern unartig :-)

Brav ist das hier:

.include(...def.inc)

.org INT0addr
rjmp ...
.org INT1addr
rjmp ...
.org ICP1addr
rjmp ...


Peter

von Sven (Gast)


Lesenswert?

He, gute Idee, werd ich mal umsetzen. Damit kann man dann wohl nicht 
mehr auf die Nase fallen, wenn die Definitionsdatei stimmt?

Sven

von mikki merten (Gast)


Lesenswert?

Bei allen AVR mit mehr als 8K Flash besteht die Interrupt-Tabelle aus 2 
Wort Einträgen, da ja sonst nicht der komplette Programmspeicher 
adressierbar wäre.
Der Austausch von RJMP (1 Wort Befehl) gegen JMP (2 Wort Befehl) reicht.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.