Hi,
I am using the MSP430FR5994 LaunchPad. And make FR5994 working at LPM3 mode. I removed all the connections between the FET and MSP430FR5994, except the GND and 3V3. And test the current on 3V3 while the FR5994 is running the LPM3 example code. The current is nearly 2mA. Is there any solutions to fix this problem. Thanks!
The code is here,
#include <msp430.h>
int main(void)
{
// VLOCLK, ~1s interrupts
WDTCTL = WDTPW | WDTTMSEL | WDTSSEL_2 | WDTIS_5;
SFRIE1 |= WDTIE; // Enable WDT interrupt
// Configure GPIO
P1OUT = 0;
P1DIR = 0xFF;
P2OUT = 0;
P2DIR = 0xFF;
P3OUT = 0;
P3DIR = 0xFF;
P4OUT = 0;
P4DIR = 0xFF;
P5OUT = 0;
P5DIR = 0xFF;
P6OUT = 0;
P6DIR = 0xFF;
P7OUT = 0;
P7DIR = 0xFF;
P8DIR = 0xFF;
P8OUT = 0;
PJOUT = 0;
PJDIR = 0xFFFF;
// Disable the GPIO power-on default high-impedance mode to activate
// previously configured port settings
PM5CTL0 &= ~LOCKLPM5;
// Clock System Setup
CSCTL0_H = CSKEY_H; // Unlock CS registers
CSCTL1 = DCOFSEL_0; // Set DCO to 1 MHz
CSCTL2 = SELM__DCOCLK | SELS__DCOCLK | SELA__VLOCLK;
CSCTL3 = DIVA__1 | DIVS__1 | DIVM__1; // Set all dividers to 1
CSCTL4 = LFXTOFF | HFXTOFF;
CSCTL0_H = 0; // Lock CS registers
P1DIR |= BIT0; // Turn on LED
__bis_SR_register(LPM3_bits | GIE);
__no_operation(); // For debugger
}
// Watchdog Timer interrupt service routine
#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
#pragma vector=WDT_VECTOR
__interrupt void WDT_ISR(void)
#elif defined(__GNUC__)
void __attribute__ ((interrupt(WDT_VECTOR))) WDT_ISR (void)
#else
#error Compiler not supported!
#endif
{
P1OUT ^= BIT0; // Toggle P1.0 (LED)
}