Was bedeutet #pragma vector?

Gast #313759
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"?
Gast #313761
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]

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