Part Number: MSP430FR2355
Tool/software: Code Composer Studio
In this program we are adding offset while timer are working in continuous mode.I did not get any clue how this offset value affecting the timer in this code.Please explain me the logic behind this program since I am just beginner.
#include <msp430.h>
int main(void)
{
WDTCTL = WDTPW | WDTHOLD; // Stop WDT
// Configure GPIO
P1DIR |= BIT0; // P1.0 output
P1OUT |= BIT0; // P1.0 high
// Disable the GPIO power-on default high-impedance mode to activate
// previously configured port settings
PM5CTL0 &= ~LOCKLPM5;
TB0CCTL0 |= CCIE; // TBCCR0 interrupt enabled
TB0CCR0 = 50000;
TB0CTL |= TBSSEL__SMCLK | MC__CONTINUOUS; // SMCLK, continuous mode
__bis_SR_register(LPM0_bits | GIE); // Enter LPM3 w/ interrupts
__no_operation(); // For debug
}
// Timer B0 interrupt service routine
#if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
#pragma vector = TIMER0_B0_VECTOR
__interrupt void Timer_B (void)
#elif defined(__GNUC__)
void __attribute__ ((interrupt(TIMER0_B0_VECTOR))) Timer_B (void)
#else
#error Compiler not supported!
#endif
{
P1OUT ^= BIT0;
TB0CCR0 += 50000; // Add Offset to TBCCR0
}