#include #include /** * main.c */ unsigned int i = 0; int main(void) { WDTCTL = WDTPW | WDTHOLD; // stop watchdog timer P1DIR = 0x01; P1OUT = 0x01; P2DIR &= ~0x02; // P1.3 (SW2) -> Input P2REN |= 0x02; // P1.3 Pull Up/Down Enable P2OUT |= 0x02; // P1.3 Pull Up Enable TA0CCR0 = 20000; //setting timeout value TA0CCTL0 |= CCIE ; // Enabled overflow interrupt TA0CTL |= MC_1 + TASSEL_2 + TACLR; // Set Mode -> Up Count, Clock -> ACLK, Clear Timer __bis_SR_register(LPM0_bits + GIE); // Goto LPM3 (Only ACLK active), Enable CPU Interrupt // __enable_interrupt(); while(1) { if(P2IN & 0x02) { P1OUT |= 0x01; } else { P1OUT &=~ 0x01; } // if(P2) /*P1OUT ^= 0x01; for(i=0; i< 10000; i++) { }*/ return 0; } } #pragma vector = TIMER0_A0_VECTOR // CCR0 Interrupt Vector __interrupt void Timer0_A0_ISR(void) { P1OUT ^= 0x01; // Toggle LED }