Forum: Mikrocontroller und Digitale Elektronik Was bedeutet #pragma vector?


von Sascha (Gast)


Lesenswert?

In einem Beispielprogramm für ARM steht folgender Code:

#pragma vector=0x18
__irq __arm void IRQ_ISR_Handler (void)

der Hilfetext des Compilers sagt dazu:
The #pragma vector directive specifies the vector(s) of an interrupt
function whose declaration follows the pragma directive.

Was soll das bedeuten? Was ist ein "vector of an interrupt"?

von Rahul (Gast)


Lesenswert?

Eine Adresse in einer Tabelle (sofern mehr als nur ein Interrupt zur
Verfügung steht).
Ist meistens auch im Datenblatt unter "Interrupts"...

von Andy (Gast)


Lesenswert?

> #pragma vector=0x18
bedeutet für den Compiler: Die Interrupt-Funktion die folgt, plaziere
auf die Adresse bzw. Vektor 0x18.
Angenommen du willst einen Timer-Überlauf-Interrupt nutzen. Im
Datenblatt steht wie man Interrupt freigibt und auf welche Adresse wird
beim Interrupt gesprungen. Nun Muss du Interrupt-Funktion schreiben und
dem Compiler sagen wo die Funktion stehen soll (die Interrupt-Adresse
bzw. Vector). Dafür ist diese Directive #pragma vector=
[interruptadresse]

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.