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.

how to use msp430f6736 in ultra low power mode

Other Parts Discussed in Thread: MSP430F6736

Hello all,

I want to use the msp430f6736 in very low power consumption mode. I have application running  on battry which needs to stand for atlest 5 days battery life.

In my hardware i have one graphic lcd ,one adc channel and uart part i m using in application i wants points to look out while programming controller in ultra low power mode.

I am using IAR compiler also need to know the compiler settings which helps to build optimized code.

  • Consult the family guide on the operating modes of the MCU. The gist is to enter a low power mode(there are various modes, with the higher numbers offering reduced current consumption at the cost of clocks /peripherals being inactive) when possible, and wake in your ISRs when certain events occur e.g. newline character received over UART.

    The graphic LCD could well be a cause for concern in current consumption. You'll need to consult its data sheet for estimated current draw.

  • Do not get excited about Low Power Mode. It simple means you turn off part of the chip. For example, LPM0 simply means you turn off the CPU. The ultimate Low Power Mode is when you turn off everything, and the battery can last as long as its shelf live.

  • I am testing controller current consumption with below code.

    #include <msp430.h> 
    
    /*
     * main.c
     */
    int main(void) {
        WDTCTL = WDTPW | WDTHOLD;	// Stop watchdog timer
    
         P1SEL = 0x00;
         P2SEL = 0x00;
         P3SEL = 0x00;
         P4SEL = 0x00;
         P5SEL = 0x00;
         P6SEL = 0x00;
         PJSEL = 0x00;
    
           P1DIR = 0xff;
           P2DIR =  0xff;
           P3DIR = 0xff;
           P4DIR =  0xff;
           P5DIR = 0xff;
           P6DIR =  0xff;
           PJDIR =  0xff;
    
              P1OUT = 0x00;
               P2OUT = 0x00;
               P3OUT = 0x00;
               P4OUT = 0x00;
               P5OUT = 0x00;
               P6OUT = 0x00;
               PJOUT = 0x00;
    
    
    	
    	return 0;
    }
    

    when i mesured the current for above code multimeter shows me 68.1ma current.I dont know why this much loading on when my all IOs off .

    Can any one suggest how can i reduce my controller current consumption in range 10 to 20 ma.

  • The chip finished executing you code (return 0;) long before your multimeter got a chance. The CPU is probable running around like an headless chicken while you try to measure the current.

    To use "low power mode", you need to turn things off. Try add this line before your return 0;

      __bis_SR_register(CPUOFF | OSCOFF | SCG1 | SCG0);

**Attention** This is a public forum