www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Probleme mit externem Interrupt


Autor: Taylor (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich möchte einen Interrupt auslösen per XINT1. Vorab ich arbeite mit
Code Composer C2xx.
Ich starte mein Hauptprogramm, was in einer Endlosschleife endet und
auf den Interrupt wartet.
Wenn ich nun den Interrupt auslöse, wird auch das entsprechende flag
gesetzt wenn ich das Register anschaue aber das Programm springt nicht
in die Unterfunktion.


Folgende Register habe ich gesetzt.

XINT1CR = 0x8003;

//0x0001 enable
//0x0002 low priority ( vector address 0Ch ) int6
//0x0004 polarity ( interrupt on falling edge )
//0x8000 clear ( int flag by writing a 1 )

in meiner "vectors.asm" habe ich meine Subroutine so deklariert.

ref _c_int0, _xint1_isr
sect "vectors"
rest: B _c_int0 ;00h reset
..
..
int6: B _xint1_isr ;0Ch INT6
..

meine Unterfunktion ist so benannt: "interrupt void xint1_isr
(void){}"

Habe ich was vergessen oder wo liegt der Fehler.Ich arbeite mich grade
in das Thema an.

Ist zwar kein Atmel aber vielleicht gibts ja auch hier Leute die sich
damit auskennen.

Taylor

Autor: bluemole (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Taylor,

ich vermute stark das Du diesen Befehl vergessen hast.

EINT;   // Enable Global interrupt INTM

Ich hab' die Zeile aus den Examples für den F281x.

MfG bluemole

PS: Schau Dir die Examples an. Die findes Du auf der TI Homepage.

Autor: Taylor (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
ne daran lags es nicht. Das hab ich mit mit

asm(" CLRC INTM"); enabled

Hab den Fehler aber schon gefunden. Hatte vergessen im IMR den
Interrupt freizugeben.
Aber so richtig verstanden hab ich den unterschied zwischen maskable
und unmaskable Interrupt noch nicht.

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.