title: Timer a usage in msp430 in high compiler optimization mode
body: <p>I have used timer A in MSP430 with high compiler optimization, but found that my timer code is failing when high compiler optimization used.
  When none optimization is used code works fine.</p>
  
  <p>This code is used to achieve 1 ms timer tick. timeOutCNT is increamented in interrupt.</p>
  
  <p>Following is the code,</p>
  
  <pre><code>        //Disable interrupt and clear CCR0
          TIMER_A_TACTL = TIMER_A_TASSEL |                        // set the clock source as SMCLK
              TIMER_A_ID |                            // set the divider to 8
              TACLR |                                 // clear the timer
              MC_1;                   // continuous mode
          TIMER_A_TACTL &amp;= ~TIMER_A_TAIE;                         // timer interrupt disabled
          TIMER_A_TACTL &amp;= 0;                             // timer interrupt flag disabled
  
          CCTL0 = CCIE;                                   // CCR0 interrupt enabled
          CCR0 = 500;
          TIMER_A_TACTL &amp;= TIMER_A_TAIE;              //enable timer interrupt
          TIMER_A_TACTL &amp;= TIMER_A_TAIFG;             //enable timer interrupt
          TACTL = TIMER_A_TASSEL + MC_1 + ID_3;                   // SMCLK, upmode
  
          timeOutCNT = 0;
  
          //timeOutCNT is increased in timer interrupt
          while(timeOutCNT &lt;= 1); //delay of 1 milisecond 
  
          TIMER_A_TACTL = TIMER_A_TASSEL |                        // set the clock source as SMCLK
          TIMER_A_ID |                                    // set the divider to 8
          TACLR |                                         // clear the timer
          MC_1;                           // continuous mode
          TIMER_A_TACTL &amp;= ~TIMER_A_TAIE;                         // timer interrupt disabled
          TIMER_A_TACTL &amp;= 0x00;                              // timer interrupt flag disabled
  </code></pre>
  
  <p></p>
  
  <p>Can anybody help me here to resolve this issue? Is there any other way we can use timer A so it works fine in optimization modes? Or do I have used is wrongly to achieve 1 ms interrupt?</p>