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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren