Externer Interrupt PIC24FJ128GA106

Gast #2055582
Lesenswert?
• ▲
▼
Hallo,

ich bekomme meine externen Taster per Interrupt nicht zum Laufen.
Ich hatte da ganze zunächst ohne Interrupt probiert. Da funktioniert 
alles. Taster sind hardwareseitig entprellt.
Er springt nicht in die Interrupt-Routinen.

PIC24FJ128GA106 und die Taster sind an PIN42 (RTCC/RP2/CN53/RD8)
und PIN 14 (AN2/C2INB/RP13/CN4/RB2)
1
void init_taster(void){      //wird in main aufgerufen
2
  //Taster 1
3
  RPINR0bits.INT1R = 2;    //Pin für Interrupt bestimmen
4
  
5
  _INT1EP = 1;                        // negative Flanke 
6
    _INT1IP = 1;                        // Priorität 
7
    _INT1IF = 0;                        // clean flag 
8
    _INT1IE = 1;                        // enable external interrupt
9
    
10
    //Taster 2
11
    RPINR1bits.INT2R = 13;    //Pin für Interrupt bestimmen
12
    
13
    _INT2EP = 0;                        // positive Flanke 
14
    _INT2IP = 1;                        // Priorität
15
    _INT2IF = 0;                        // clean flag 
16
    _INT2IE = 1;                        // enable external interrupt
17
  
18
}
19

20
//--------------------------------------------------------------------
21
// Taster externer Interrupt
22
//--------------------------------------------------------------------
23
void __attribute__ ((__interrupt__, no_auto_psv)) _INT1Interrupt(void){
24
  
25
  LED_GRUEN = AN;
26
  LED_ROT = AUS;
27

28
  _INT1IF = 0;  
29
}
30

31
//--------------------------------------------------------------------
32
// Taster externer Interrupt
33
//--------------------------------------------------------------------
34
void __attribute__ ((__interrupt__, no_auto_psv)) _INT2Interrupt(void){
35
  
36
  LED_GRUEN = AUS;
37
  LED_ROT = AN;
38

39
  _INT2IF = 0;  
40
}
Hat vielleicht jemand einen Tipp, was ich vergesen haben könnte oder 
falsch gemacht habe.

Gruß
dieter
Gast #2055670
Lesenswert?
• ▲
▼
Ok, Interrupt1 läuft schonmal. Ich hatte die init an der falschen 
Stelle.
Das der Interrupt2 nicht läuft liegt wohl vermutlich daran, dass das 
auch ein analoger ist?
Da muß wohl irgendwo noch irgendwas gesetzt werden. :(

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.