MSP430G2553 Интервалы таймера [закрыто]

Прочитав текст около пяти раз и погуглив, я решил обратиться за помощью. В настоящее время я использую прерывание Timer_A для включения / выключения двух светодиодов с интервалами 1 секунда / 10 секунд / 1 минута по одному. Программа по умолчанию будет включать / выключать светодиоды каждую секунду, но я не могу найти способ выключить их через 10 секунд и минуту. Я могу использовать __delay_cycles (xxxx) для достижения этой цели, но, видимо, это приведет к потере цели таймера. Это мой код

#include <msp430.h>

#define RedLED BIT0
#define GreenLED BIT6

#define RedLEDToggle (P1OUT ^= RedLED)
#define GreenLEDToggle (P1OUT ^= GreenLED)

unsigned int counter = 0;


void main(void)
{
    WDTCTL = WDTPW | WDTHOLD;
    //WDTCTL = WDT_MDLY_32;

    P1DIR = RedLED | GreenLED;
    P1OUT = RedLED | GreenLED;

    TACTL = TASSEL_2 | ID_3 | MC_3 | TAIE;

    TACCR0 = 62500;

    _enable_interrupts();


    LPM1;
}

#pragma vector=TIMER0_A1_VECTOR

__interrupt void Timer_A(void)
{

if ( counter == 10)
{
switch (TAIV)
    {
    case 0x02: break;
    case 0x04: break;
    case 0x0A: RedLEDToggle | GreenLEDToggle;
        break;
    }
}
else
{
counter ++;
}       
}

Ответы на вопрос(3)

Ваш ответ на вопрос