//****************************************************************************** // MSP430xG46x Demo - Comparator A, Poll input CA0, interrupt triggered // // Description: Normal operation is in LPM3. When Vcompare crosses the ref // voltage, an interrupt is generated, and the ISR toggles the LED. // // // MSP430xG461x // ----------------- // /|\| | // | | | // --|RST CA0|<--Vcompare // | | // | | // | P5.1|-->LED // // K. Quiring/ M. Mitchell // Texas Instruments Inc. // October 2006 // Built with IAR Embedded Workbench Version: 3.41A //****************************************************************************** #include void main(void) { WDTCTL = WDTPW+WDTHOLD; // Stop WDT FLL_CTL0 |= XCAP14PF; // Configure load caps CACTL1 = CAON+CAREF_2+CARSEL; // Enable comp, ref = 0.5*Vcc CACTL2 = P2CA0; // Pin to CA0 P5DIR |= 0x002; // P5.1 = output direction P2SEL |= 0x040; // P2.6 = CAOUT CACTL1 |= CAIE; // Setup interrupt for Comparator _BIS_SR(LPM3_bits + GIE); // Enter LPM3, interrupts enabled } // Comp_A interrupt service routine -- toggles LED #pragma vector=COMPARATORA_VECTOR __interrupt void Comp_A_ISR (void) { CACTL1 ^= CAIES; // Toggles interrupt edge P5OUT ^= 0x02; // Toggle P5.1 }