Interrupt deklaration in Headerdatei

Gast #521500
Lesenswert?
• ▲
▼
Hallo alles zusammen,

ich habe ein Problem mit den Interrupts. Ich wollte ein eigens Int.c 
file für alles Interrupts erstellen. Beim IAR Compiler sehen die 
Interrupts für den MSP so aus:

#pragma vector=UART0RX_VECTOR
__interrupt void usart0_rx (void)
{
.......
}

Mein Problem ist jetzt: Wie mache ich diese Interrupts in der 
zugehörigen Headerdatei für den Rest des Programms bekannt??

Gruß,
Totti
Persönliche Seite #521535
Lesenswert?
• ▲
▼
Gar nicht.
Wozu auch, Dein Programm ruft die Interruptfunktionen auch nicht auf, 
das macht ja der Controller, und der C-Compiler/Linker erzeugt den 
korrekten Code mitsamt Initialisierung der Interrupttabelle.

Ist es wirklich sinnvoll, alle Interruptroutinen in einem Modul 
zusammenzufassen? Wäre es nicht angebrachter, die Interruptroutine für 
die Behandlung von Peripherieelementen jeweils in dem Modul 
unterzubringen, das sich mit der betreffenden Periphere beschäftigt, 
also den Timer-Interrupt im Timer-Modul, den UART-Interrupt im 
UART-Modul etc.?

Gast #521541
Lesenswert?
• ▲
▼
Hm, ob ich alle Interrupts in einem Modul packe, oder so wie du 
vorgeschlagen hast, sollte für die Funktion ja erst mal egal sein..

Leider funktioniert es so nicht:( Wenn ich alles in einem einzigen .c 
file zusammenpacke, dann geht es. lagere ich die Interrupts aus, springt 
er sich nicht mehr an. Deshalb dachte ich ja, dass man die Interrupts im 
headerfile bekannt machen muss.
Persönliche Seite #521547
Lesenswert?
• ▲
▼
Ist denn Dein Sourcefile, in das Du die Interruptroutinen ausgelagert 
hast, überhaupt Bestandteil Deines Projektes?

Die Interruptroutinen müssen definitiv nicht in einem Headerfile 
bekanntgemacht werden - das hast Du bei einem Projekt, das aus einem 
Sourcefile besteht, ja schließlich auch nicht gemacht und Du gibst 
nirgends außer bei der Definition der Interruptroutinen überhaupt an, 
daß es diese Interruptroutinen gibt.
Gast #521786
Lesenswert?
• ▲
▼
@all: Danke für die Antworten:)

Ich hab mal eine anderes, kleines Projekt mal auf eine gleich File 
Struktur gebracht. Hier funktioniert es ohne Probleme. Dann muss der 
Fehler also woanders im Programm liegen...

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.