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.

MSP430F67471A: The question about PMMCOREVx and LPM 3

Part Number: MSP430F67471A
Other Parts Discussed in Thread: MSPWARE



I have a question.

I want to reduce the supply current during LPM3 by lowering the level of PMMCOREVx.

And my UART function is needed to set the MCLK at 16MHz.


Is it possible following process?


  1. After the reset, PMMCOREVx=0, and set the MCLK at 8MHz
  2. Set to LPM3
  3. Wake up by the UART RX interrupt, raise the level to PMMCOREVx = 2
  4. Set to MCLK at 16MHz
  5. My UART function works
  6. After finishing my UART function , Set to MCLK at 8MHz.
  7. Lower the level to PMMCOREVx = 0
  8. Set to LPM3


Could you tell me if there is a problem/attention point with the above flow or there are other good methods?




  • Hello Uchida,
    Your flow looks ok except you have to raise/lower the PMM core level one by one .Please refer slau208p(MSP430F6xx user guide) page no 108:

    It is critical that the VCORE level be increased by only one level at a time. The following steps 1 through 4
    show the procedure to increase VCORE by one level. This sequence is repeated to change the VCORE level
    until the targeted level is obtained:
    • Step 1: Make sure that DVCC has settled before you continue with the next steps.
    • Step 2: Program the SVMH and SVSH to the next level. This makes sure that DVCC is high enough for
    the next VCORE level.
    • Step 3: Program the SVML to the next level and wait until SVSMLDLYIFG is one.
    • Step 4: Program PMMCOREV to the next VCORE level.
    • Step 5: Wait until SVMLVLRIFG flag is one. It indicates that the core voltage reached the level you
    programmed in Step 4.
    • Step 6: Program the SVSL to the next level.

    I suggest you to use mspware library code pmm.c and pmm.h for the same....It might possible that this procedure may take some time so in application you need to take care as it might miss some UART RX interrupt while you are changing frequency...

    Vikas Chola
  • Hi Vikas Chola,

    I understand.
    Thank you for your reply!

  • Hello,

    Can I ask one more question?

    Is it possible to set the DCO directly and change the frequency when setting MCLK by the above procedure?
    Could you tell me any problems, concerns or advice?


  • Hello.

    Is there any update my additional question on the above?


  • You could remember the previous DCO/MOD/DCORSEL settings, but the DCO speed is also affected by voltage and temperature, so what you'd get is only some frequency near the target. You'd still have to keep the FLL enabled to adjust the DCO. But this would certainly shorten the time needed for the FLL to settle.

**Attention** This is a public forum