PIC32MX350: INT4 wird nie ausgelöst

Gast #6161750
Lesenswert?
• ▲
▼
Ich verwende hier drei externe Interrupts INT1, INT2 und INT4 an D8, D9 
und D11. Die Zuweisung der Pins sollte passen:
1
    INT2Rbits.INT2R = 0x0000;   //RD9->EXT_INT:INT2;
2
    INT4Rbits.INT4R = 0x0003;   //RD11->EXT_INT:INT4;
3
    INT1Rbits.INT1R = 0x0004;   //RD8->EXT_INT:INT1;

Die Initialisierung der Interrupts selber sieht für mich auch gut aus:
1
    IPC4bits.INT4IP = 1;
2
    IPC4bits.INT4IS = 0;
3
    IPC1bits.INT1IP = 1;
4
    IPC1bits.INT1IS = 0;
5
    IPC2bits.INT2IP = 1;
6
    IPC2bits.INT2IS = 0;
7

8
    INTCONbits.MVEC = 1;

Trotzdem wird INT4 nie ausgelöst. Das Signal steht am richtigen Pin an, 
INT1 und INT2 funktionieren erwartungsgemäß nur am Breakpoint in
1
void __ISR(_EXTERNAL_4_VECTOR, IPL1AUTO) _EXTERNAL_4(void)
2
{
3
    //***User Area Begin->code: Ext INT 4***
4
    SYNCIsr();
5
    //***User Area End->code: Ext INT 4***
6
    EX_INT4_InterruptFlagClear();
7
}

bleibe ich nie stehen. Was könnte da fehlen/falsch sein?

Danke!
Gast #6161801
Lesenswert?
• ▲
▼
OK, Ursache gefunden: Das Interrupt-Flag für ISR2 wurde nie gelöscht - 
warum dann INT1 und INT2 weiter funktioniert haben, INT4 aber nicht, ist 
mir zwar nicht ganz klar, aber damit funktioniert es jetzt.

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.