text: Other Parts Discussed in Thread: ENERGYTRACE
  I am currently working with the MSP430fr4133 (first time MSP430 user) on the LaunchPad Dev Board and am trying to achieve the advertised current consumption in the datasheet for LPM3.5 with the LCD, Charge Pump, and RTC.
  ILPM3.5, LCD, CP Low-power mode 3.5, excludes SVS(4) 3 V 0.90 0.94 1.27 μA
  The above doesn't explicitly say RTC, but since it is LMP3.5, doesn't that mean the RTC is running? I am measuring around 3uA using the example code. I am basically wanting to get the current consumption in the standby state, so I have the RTC counting every 10 seconds or so and am looking at the current in those 10 second intervals. Also, the examples use
  #define LPM3_bits (SCG1+SCG0+CPUOFF)
  when they put the device in LPM3.5. But the userguide says to also set the OSCOFF bit. Would you only want to set the OSCOFF bit if you are NOT using the XT1 crystal?
  I have also tried to switch the rtc and lcd ref clocks from XT1 to VLO, but it doesn't make much of a difference. I have everything disconnected on the Dev Kit board so the only jumper I have connected is the GND, so no communication to the emulator chip. As a test I created code that only set the GPIO to output/ low and then put into LPM4.5, and that only consumed 0.03uA (SVS excluded) which is in line with the datasheet. I was trying to see if something on the dev board was connected and consuming excess current but that test seemed to disprove that theory.
  The code I am using is pretty much an example with some slight modifications. Anything I am doing wrong here? This code just displays 1234 on the LCD.
  4, // "7" 0xFF, // "8" 0xF7 // "9" }; void Init_GPIO(void); void main (void) { WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer if (SYSRSTIV == SYSRSTIV_LPM5WU) // If LPM3.5 wakeup {); // Re-enter LPM3.5 } else { // Initialize GPIO pins for low power Init_GPIO(); // CSCTL6 = (CSCTL6 & ~(XT1DRIVE_3)) | XT1DRIVE_2; // Higher drive strength and current consumption for XT1 oscillator // Disable the GPIO power-on default high-impedance mode // to activate previously configured port settings PM5CTL0 &= ~LOCKLPM5; // Configure RTC RTCCTL |= RTCSS__XT1CLK | RTCIE |RTCPS__10 ; // Initialize RTC to use XT1 and enable RTC interrupt RTCMOD = 32768; // Set RTC modulo to 32768 to trigger interrupt each second // Configure LCD pins SYSCFG2 |= LCDPCTL; // R13/R23/R33/LCDCAP0/LCDCAP1 pins selected // Just enabled A1-A4 for 4 digits LCDPCTL0 = 0x330F; LCDPCTL1 = 0x0033; LCDPCTL2 = 0x0000;) // Display 1 2 3 4 LCDMEM[pos1] = digit[1]; LCDMEM[pos2] = digit[2]; LCDMEM[pos3] = digit[3]; LCDMEM[pos4] = digit[4];); // Enter LPM3.5 __no_operation(); // For debugger } } #if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__) #pragma vector = RTC_VECTOR __interrupt void RTC_ISR(void) #elif defined(__GNUC__) void __attribute__ ((interrupt(RTC_VECTOR))) RTC_ISR (void) #else #error Compiler not supported! #endif { switch(__even_in_range(RTCIV, RTCIV_RTCIF)) { case RTCIV_NONE : break; case RTCIV_RTCIF: break; default: break; } } void Init_GPIO() { // Configure all GPIO to Output Low; }