//function definitions void Clock_init(void) { UCS_setExternalClockSource( 32768, 0); // Set Vcore to accomodate for max. allowed system speed PMM_setVCore( PMM_CORE_LEVEL_3 ); // Use 32.768kHz XTAL as reference UCS_LFXT1Start( UCS_XT1_DRIVE0, UCS_XCAP_3 ); // Set system clock to max (25MHz) UCS_initFLLSettle( 25000, 762 ); SFR_enableInterrupt( SFR_OSCILLATOR_FAULT_INTERRUPT ); // Globally enable interrupts __enable_interrupt(); }
void WDTConfiguration(void) { WDT_A_initIntervalTimer(WDT_A_BASE, WDT_A_CLOCKSOURCE_ACLK, WDT_A_CLOCKDIVIDER_32K); //Enable Watchdog Interupt SFR_clearInterrupt( SFR_WATCHDOG_INTERVAL_TIMER_INTERRUPT ); SFR_enableInterrupt( SFR_WATCHDOG_INTERVAL_TIMER_INTERRUPT ); }
void main (void) { //Initialize WDT module in timer interval mode, //with SMCLK as source at an interval of 32 ms. WDT_intervalTimerInit(__MSP430_BASEADDRESS_WDT_A__, WDT_CLOCKSOURCE_SMCLK, WDT_CLOCKDIVIDER_32K); //Enable Watchdog Interupt SFR_enableInterrupt(__MSP430_BASEADDRESS_SFR__, WDTIE); //Set P1.0 to output direction GPIO_setAsOutputPin(__MSP430_BASEADDRESS_PORT1_R__, GPIO_PORT_P1, GPIO_PIN0 ); //Enter LPM0, enable interrupts __bis_SR_register(LPM0_bits + GIE); //For debugger __no_operation(); }