mikrocontroller.net

Forum: Compiler & IDEs Interruptroutine in Bibliothek packen?


Autor: Harald (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

kann man eigentlich eine Interruptroutine in einer Bibliothek 
unterbringen?
Wenn der Präprozessor tatsächlich dir Includes einfach durch Code 
ersetzt,
sollte es ja eigentlich gehen, oder?
Wenn ja, wie muß dann die Deklaration im Header-File aussehen?

Gruß,
Harald

Autor: Εrnst B✶ (ernst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hängt jetzt etwas von dem Compiler und dem µC ab, ich tipp einfach mal 
auf GCC und AVR:

Im Headerfile muss garnix deklariert werden, einfach die ISR in die 
Bibliothek packen.

Das richtige installieren des ISR-Einsprungpunktes macht der Linker.

Anders schauts z.B. beim SDCC für 8051er aus, dort müssen die ISRs 
unbedingt im selben File wie die main() funktion deklariert sein, hier 
braucht man also eine Forward-decl wie z.B.:

void timer_isr() interrupt TMR0_VECT using 1;

/Ernst

Autor: Harald (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Besten Dank... ...das macht doch mal Hoffnung!

Gruß,
Harald

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.