Was kommt in die Klammern von ISR()? - Interrupt, Atmega128

Gast #2509142
Hallo,

Ich möchte mit einem Atmega128 ein Interrupt auslösen, wenn sich der 
Pegel an INT0 (External Interrupt Request 0) ändert.
Für die implementierung des Interrupts verwende ich das ISR Makro.
also z.B:

ISR(vektorname)
{
  ..
}

In die Klammern von ISR() sollte ja der Interrupt Vektor Name kommen. 
Doch wie finde ich den heraus? Im Datenblatt wird auf auf Seite 60 in 
der Interrupt Vektor Tabelle für meinen INT0 Interrupt unter "Source" 
"INT0" angegeben.
Heisst jetzt der Vektorname "INT0_vect"? Oder anders?
Oder kommt in diese Klammern die Adresse des Interrupts?


Danke für eure Hilfe
Tim Schneider schrieb:

> In die Klammern von ISR() sollte ja der Interrupt Vektor Name kommen.
> Doch wie finde ich den heraus? Im Datenblatt wird auf auf Seite 60 in
> der Interrupt Vektor Tabelle für meinen INT0 Interrupt unter "Source"
> "INT0" angegeben.

An den hängst du noch _vect drann und im Regelfall hast du damit den 
Namen des Interrupt Vektors, so wie er im AVR-GCC heißt.

> Heisst jetzt der Vektorname "INT0_vect"? Oder anders?

Genau so.


ISR( INT0_vect )
{
  ...
}
Für deinen Fall findest du die Defines in der Datei "iom128.h". Die sich 
bei WINAVR in Ordner ... WinAVR\20090313\avr\include\avr\ befindet.
Dort gigt es den folgenden Abschnitt:
1
/* Interrupt vectors */
2

3
/* External Interrupt Request 0 */
4
#define INT0_vect      _VECTOR(1)
5
#define SIG_INTERRUPT0      _VECTOR(1)
6

7
/* External Interrupt Request 1 */
8
#define INT1_vect      _VECTOR(2)
9
#define SIG_INTERRUPT1      _VECTOR(2)
Dort stehen die vordefinierten Bezeicher für alle Vektoren.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.