This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ON/OFF signal - MSP430F5438 Experimenter Board

Other Parts Discussed in Thread: MSP430F5438

Hi,

I am having some problems coding the experimenter board (MSP430F5438 Experimenter Board) to send a High and Low signal.

I am able to turn on and off the LED1 using P1.0 using the following code:

#include	"msp430x54x.h"

//this code turns the LED1 ON
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer


P1OUT |= BIT0; // P1.0 high
P1SEL &= ~BIT0; // configure P6.7 for digital I/O
P1DIR |= BIT0; // configure P6.7 as output

P1OUT |= BIT0; // P1.0 high

while(1); //spin forever
}
But when I decide to use an external pin in the experimenter board (for example P6.7), and I connect a multimiter to the pin,
the voltage doesn't change, it is always around 0.01 even if I am setting the pin to high. Here is the code I am using:
#include	"msp430x54x.h"

void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer

P6REN |= BIT7; // enable internal pull up, 1
P6OUT |= BIT7; // P6.7 high
P6SEL &= ~BIT7; // configure P6.7 for digital I/O
P6DIR |= BIT7; // configure P6.7 as output

P6OUT |= BIT7; // P6.7 high

while(1); //spin forever

}

What I am missing here? Thank you so much for the help.
  • Initially, the port pin should be high-impedance input. Whcih is considered 0V by your multimeter. Then you switch on teh pullup resistor, whcih is a pulldown momentarily. Then you switch the resistor to pullup mode. At this point, the multimeter should show VCC.
    Next you deselect the pin (which is already the default)
    Now you switch the pin from input with pullup to output (driving high, see below)
    Last you set the pin to high output, which doesn't change anything, since you already did this three lines earlier (with effect to the pullup resistor then, since the pin was in input mode).

    The schematics of the board doesn't show anything connected to the in that could pull it down.

    The only thing I can imagine is that for some reason your MSP doesn't start at all adn therefore the code is never executed. Else I don't see why the output isn't going high.
    Is your multimeter okay? Did you accidentally measure against VCC instead against GND?

**Attention** This is a public forum