MSP430 Pin abfragen

#1502106
Lesenswert?

Hallo.

Habe ein ähnliches Problem. Möchte PIN 3.7 nach High oder Low abfragen. 
Je nach dem, ob ein Sensor angeschlossen ist oder nicht. Dementsprechend 
soll dann eine LED leuchten.

1
#include <msp430xG43x.h>
2

3
//Vcc 3,34 V
4
//MSP430FG439
5

6
void main(void)
7
{
8
  WDTCTL = WDTPW + WDTHOLD;           // Stop Watch Dog Timer
9

10
  P1DIR |= BIT0;                      // P1.0 output direction red LED
11
  P5DIR |= BIT1;                      // P5.1 output direction yellow LED
12

13
  P3DIR &=~ BIT7;                     // P3.7 input direction
14

15
  P1OUT &=~ BIT0;                     // P1.0 off red LED
16
  P5OUT &=~ BIT1;                     // P5.1 off yellow LED
17

18
  if( (P3IN & BIT7) == 0x00){         // 0,26 V ohne Sensor
19
    P1OUT |= BIT0;                    // P1.0 on red LED
20
  }
21
  if( (P3IN & BIT7) == 0x01){         // 3,34 V wenn Sensor angeschlossen
22
    P5OUT |= BIT1;                    // P5.1 on yellow LED
23
  }
24
}

Ohne Sensor mit der roten LED funktioniert's.
Mit Sensor leuchtet gelbe LED jedoch nicht.

Spannung von 3,34 V an wenn Sensor angeschlossen ist.

Würde gerne wissen, was an dem Code falsch ist.

p.s.: Mir ist klar, dass man einfach else schreiben könnte.

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