Other Parts Discussed in Thread: MSP430F2274, MSP430F5418, MSP430FR5969
Hi, we are trying to implement data backup during brown out. Basically, we want to store important data like errors during brown out..
the below are the basic functions used for this purpose.
void init (void)
{
// Open PMM registers for write access
PMMCTL0_H = 0xA5;
SVSMHCTL = SVSHE + SVMHE ;
SVSMLCTL = SVSLE + SVMLE ;
PMMRIE = SVMLIE + SVMHIE;
// Lock PMM registers for write access
PMMCTL0_H = 0x00;
}
#pragma vector=SYSNMI_VECTOR
__interrupt void sysNmiISR(void)
{
switch (SYSSNIV)
{
case SVMLIFG: // (0x0020) /* SVM high side interrupt flag */
FLASH_WriteFlash(a,(uint8_t *)FLASH_SEG_D_START,1);
break;
case 0x0004: // (0x0001) /* SVS and SVM low side Delay expired interrupt flag */
break;
}
}
i am expecting the above isr to to execute when I switch off my board and store the values into non volatile memory. But, it is not getting executed. Please let me know what could be wrong.
Thanks,