Forum: Mikrocontroller und Digitale Elektronik MSP430G2553 GPIO P2.6 P2.7 QFN32 MSP-GCC Ubuntu


von Anton G. (anton_g)


Lesenswert?

Hallo zusammen ich habe ein Problem mit meinem msp430

Ich habe ein simples CProgramm, schaffe es aber nicht GPIO P2.6 P2.7 an 
zu sprechen
1
// MSP430 - Lunshpad Blink Demo
2
// MCU = MSP430G2553
3
// Compile:  msp430-gcc -mmcu=msp430g2553 -o main.elf main.c
4
// Flash :   mspdebug rf2500 "prog main.elf"
5
6
#include <msp430.h> // Load the MSP Defines
7
8
// HARDWARE PINS on POT1
9
#define GYRO_INT (BIT0)
10
#define RX       (BIT1)
11
#define TX       (BIT2)
12
#define MOT_TEST (BIT3)
13
#define VOLTAGE  (BIT4)
14
#define B_RESET  (BIT5)
15
#define SCL      (BIT6)
16
#define SDA      (BIT7)
17
18
19
#define ACC_INT  (BIT5)
20
#define MAG_INT  (BIT6)
21
#define BARO_INT (BIT7)
22
23
24
25
26
27
int main()
28
{
29
  /* Stop the Watch Dog, needed for development*/
30
  WDTCTL = WDTPW + WDTHOLD;
31
  BCSCTL1 = CALBC1_16MHZ; // Set DCO
32
  DCOCTL = CALDCO_16MHZ;
33
 
34
  P1DIR = 0xff;
35
  P1OUT = 0x00;
36
  P2DIR = 0xff;
37
  P2OUT = 0x00;
38
  P3DIR = 0xff;
39
  P3OUT = 0x00;
40
41
  for(;;)
42
  { 
43
    P1OUT = 0x00;
44
    P1OUT = SCL;
45
    P1OUT = 0x00;
46
    P1OUT = SDA;
47
    P1OUT = 0x00;
48
    P2OUT = 0x00;
49
    P2OUT = ACC_INT;
50
    P2OUT = 0x00;
51
    P1OUT = GYRO_INT;
52
    P1OUT = 0x00;
53
    P2OUT = 0x00;
54
    P2OUT = BARO_INT;
55
    P2OUT = 0x00;
56
    P2OUT = MAG_INT;
57
    P2OUT = 0x00;
58
59
  }
60
  return 0;
61
}

Nunz jemand dein MSP430G2553 im QFN32 gehäuse? ich verzweifle.
Ja ich messe am PIN 35 und PIN 26

Vielen dank schon mal in voraus

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

1
    P2OUT = 0x00;
2
    P2OUT = BARO_INT;
3
    P2OUT = 0x00;
4
    P2OUT = MAG_INT;
5
    P2OUT = 0x00;

Was, außer einem sehr kurzen Aktivieren der Portpins erwartest Du bei 
diesem Code? Selbst bei nur 1 MHz CPU-Takt sind die wenige µs lang 
aktiv.

von Anton G. (anton_g)


Lesenswert?

Rufus Τ. Firefly schrieb:
>
1
>     P2OUT = 0x00;
2
>     P2OUT = BARO_INT;
3
>     P2OUT = 0x00;
4
>     P2OUT = MAG_INT;
5
>     P2OUT = 0x00;
6
>
>
> Was, außer einem sehr kurzen Aktivieren der Portpins erwartest Du bei
> diesem Code? Selbst bei nur 1 MHz CPU-Takt sind die wenige µs lang
> aktiv.

JA das hänge ich dann mit eine Logic Analyser dran und schau ob die 
GPIOS tun.

ist nur eine Test Routine um zu schaun ob auf dem board alle GIOS 
funktionierne.

Habe den Fehler gefunden, dachte P2SEL und P2SEL2 werden mit 0x00 
initialesiert ist aber nicht so. So muss mann diese Manuel auf 0x00 
setzen und siehe da es funktioniert.

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.