MSP430: Interrupt löst nicht aus

OP #2496495
Lesenswert?

Hallo,

ich habe an meinem MSP430F2122 an Port P1.0 einen Taster angehängt (zu 
GND), um den uP per Interrupt aufzuwecken und wieder schlafenzulegen. 
Allerdings wird der Breakpoint in der ISR nie ausgelöst.
Der Timer-Interrupt funktioniert aber.

Kann mir jemand helfen, den Fehler zu finden?

Der Port ist als Eingang mit dem eingebauten Pull-Up-Widerstand 
konfiguriert. Da dies der einzige Interrupt von P1 ist, entfällt die 
auswertung des Interruptvektors.

Den Taster habe ich überprüft, der funktioniert.
1
    // direction: 1=out
2
    P1DIR = 0x0C;   // P1.2 and P1.3 are outputs, the rest inputs
3
    
4
    // out signal: 1=high (or pullup, if REN=1)
5
    P1OUT = 0xF3;
6
    
7
    // resistor: 1=pullup/-down resistor enabled (see OUT)
8
    P1REN = 0xF3;
9
    
10
    // interrupt
11
    P1IE = 0x01;    // enable interrupt for P1.0 (On/Off button)...
12
    P1IES = 0x01;   // ...on high-to-low transition
13
    
14
    // special function selection
15
    P1SEL = 0x0C;
16

17

18

19
// P1 ISR (On/Off Button)
20
#pragma vector = 0x04
21
__interrupt void OnOffButton(void)
22
{
23
    // blah...
24
    __NOP();
25
    return;
26
}

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