I am using an MSP430F5529LP (Launch Pad) Board. I have been trying to blink the internal LED, LED1 using the code shown below:
#include <msp430.h>
#include <msp430f5529.h>
/*
* main.c
*/
unsigned int timerCount = 0;
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // disable watchdog
P1DIR |= BIT0; // Set P1.0 and P1.6 to output direction
P1OUT &= ~BIT0; // Set the LEDs off; // P1.6 out to relay (LED)
//BCSCTL1 = CALBC1_1MHZ; // Set DCO to calibrated 1 MHz.
//DCOCTL = CALDCO_1MHZ;
TA0CCR0 = (32768 -1);
TA0CCTL0 = (CCIE + OUTMOD_6); // Enable interrupts for CCR0.
TA0CTL = (TASSEL_0 + MC_1 + ID_3 + TACLR); // SMCLK, div 8, up mode,
// clear timer
__enable_interrupt();
for(;;)
{ // Do nothing while waiting for interrupts. This would be an
} // an ideal place to use low power modes!
}
/* Interrupt Service Routines */
#pragma vector = TA0IV_TAIFG
__interrupt void Timer0_A5_ISR(void)
{
timerCount = (timerCount + 1) % 3;
if (timerCount == 0)
{
P1OUT ^=BIT0;
}
} // CCR0_ISR
This code compiles, but produces no output. I do not see the LED Blink. I think I haven't written the interrupt correctly, but I'm not sure. I have looked at other questions and tutorials, but haven't quite found what I needed. Any help would be greatly appreciated.