Forum: Mikrocontroller und Digitale Elektronik MSP430 Launchpad Problem


von Robert I. (robert_i39)


Lesenswert?

Hi Leute.

Hab heute versucht ein Programm mit hilfe von interrupts zu realisieren.

Es soll die rote LED am Launchpad angehen wenn ich auf den Onboard 
Button drücke. Nur bei mir passiert genau NIX .

Ich hoffe jemand kann mir da weiterhelfen.
1
#include <msp430g2253.h>
2
3
4
int main(void)  //Main program
5
{
6
  WDTCTL = WDTPW + WDTHOLD;  //Stop Watchdogtimer
7
8
  P1DIR |= BIT0;  //Set P1.0 to output and P1.3 to input direction
9
  P1OUT &= ~BIT0;  //Set P1.0 to Off
10
  P1IE |= BIT3;  //P1.3 interrupt enabled
11
  P1IFG &= ~BIT3;  //P1.3 interrupt flag cleared
12
13
  __bis_SR_register(GIE);    //Enable all interrupts
14
15
  while(1)
16
  {
17
18
  }
19
20
}
21
22
#pragma vector=PORT1_VECTOR
23
__interrupt void Port_1(void)
24
{
25
  P1OUT ^= BIT0;  //Toggle P1.0
26
  P1IFG &= ~BIT3;  //P1.3 interrupt flag cleared
27
28
}

von msp430 (Gast)


Lesenswert?

Der Taster schaltet den pin einfach gegen gnd. Es fehlt ein pullup 
Widerstand. Die Logik ist dadurch invertiert. Tastendruck ergibt eine 
negative Flanke.

Schau dir das einmal an 
Beitrag "Re: MSP430 F2013 Problem bei Interrupt von P2"

von Robert I. (robert_i39)


Lesenswert?

Vielen Dank !

Für die die ebenfalls das selbe Problem haben.

Das hat gefehlt :
1
P1REN |= BIT3;  // Pull resistens on
2
P1OUT |= BIT3;

von msp430 (Gast)


Lesenswert?

Dein Programm reagiert aus loslassen des Tasters, oder?

von Robert I. (robert_i39)


Lesenswert?

Nein, die LED geht an/aus wenn der Taster gedrückt wird und nicht erst 
beim loslassen.

von msp430 (Gast)


Lesenswert?

Robert I. schrieb:
> Nein, die LED geht an/aus wenn der Taster gedrückt wird und nicht erst
> beim loslassen.

Wirf einmal ein Blick auf das P1IES Register.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.