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.

MSP430F6xxx PMM

Genius 3475 points
Other Parts Discussed in Thread: MSP430WARE, MSP430F6779

HI 

Like to check if anyone has some sample codes to set the PMM in the MSP430.

Have looked thru the example codes, the PMM is not addressed.

In particular, the chip used is MSP430F674x my application calls for the Dvcc to be monitored, should a loss of power occur, the chip would go to Aux power. 

We would like to do some data backup before/during the power switch by using the PMM SVMH to detect a drop of voltage and use the interrupt to run the backup codes.

Ivan

  • Hi,

    You should find some sample code in MSP430 driver library [...]\ccsv5\ccs_base\msp430\msp430ware_1_25_00_30\driverlib\5xx_6xx

    Regards,
    Maciej 

  • Hi MaciejKucia,


    I found the sample codes under the library. Thanks

    Ivan

  • HI Ivan, 

    I tried to find and download the sample codes under the link, but I'm having trouble finding it.  Would you mind posting the example codes that you found here? 

    Thanks!

    Loi

  • HI Loi

    If you are using CCS 5.5

    When in th resource explorer, you can type PMM in the search window to find some leads to the example

    Ivan

  • Ivan,

    I'm currently working on MSP430F6779.  I need to use the SVM high side in order to trigger an interrupt when the DVcc voltage falls below a certain threshold. I do not need SVS (high and low) nor SVM low side.

    Here my code:

    void InitSNMIVector(void)
    {
    // Open PMM registers for write access
    PMMCTL0_H = 0xA5;
    // SVS and SVM high side Reset Release Voltage Level 3
    SVSMHCTL |= SVMHE | (SVSMHRRL_3);
    //enable SVM high side interrupt 
    PMMRIE = SVMHIE;
    // Lock PMM registers for write access
    PMMCTL0_H = 0x00;
    } 
    ///////////////////////////////////////////////////////////////////////////////
    #pragma vector=SYSNMI_VECTOR
    __interrupt void sysNmiISR(void)
    {
    if(PMMIFG & SVMHIFG) //SVM high side interrupt flag 
    { 
    // save energy_data to EEPROM
    savePowerToEEPROM();
    //clear interrupt flag
    PMMIFG &= ~SVMHIFG;
    }
    }
    

    It does not work. Do you have any suggestion?

    Best Regards,

    Loi

**Attention** This is a public forum