PIC - Interrupt Vektoren und Speicher - Low / High Priority

OP #1040176
Lesenswert?

Hallo Forum,

ich habe eine Frage zur Startadresse der Interrupt Routinen. Laut 
Datenblatt des PIC18F4550 zeigt der High-Priority Interupt Vector auf 
0x08, der Low-Priority Interupt Vector auf 0x18. Laut Linkerfile reicht 
der Interupt Speicher von 0x00 bis 0x29. Alles in allem sind da nur ein 
paar Byte Speicher.

In meinem Programm habe ich nur einen Interrupt, der allerdings recht 
groß ist. Ich habe deswegen im Linkerfile den Speicher für Interupts 
vergößert. Dabei kamen mir folgende Fragen auf:

Wird der Speicher für den Low-Priority Interupt dabei nicht vom Code des 
High-Level Interupts überschrieben? Was passiert, wenn nun ein Low-Level 
Interupt ausgelöst wird? Der müsste dann doch mitten im High-Level 
Interupt beginnen?
Wenn ich den Speicher für Interupts vergößere, verschiebe ich dann auch 
gleich den Low-Priority Interupt Vector oder muss ich das noch irgendwo 
selbst machen?
Eigentlich müsste man dann doch immer nur Funktionsaufrufe in den 
Interupt reinschreiben, die dann irgendwo anders hinspringen. So wenig 
Platz reicht ja niemals. In Assembler Programmierung ist das ja üblich, 
in C hab ich das noch nicht gesehen.

Vielen Dank für die Hilfe.

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