Разбираюсь с MSP430 Launchpad с установленным G2553.
Подскажите, почему не происходит прерывание по Timer1?
CODE
#include <msp430.h>
/*
* main.c
*/
void main(void) {
WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer
// Инициализация светодиодов
P1DIR = BIT0 + BIT6;
P1OUT = 0;
// Инициализация таймера Timer1
TA1CCR0 = 480; // период таймера
TA1CCR1 = 120; // яркость свечения LED1 (120/480)
TA1CCR2 = 360; // яркоcть свечения LED2 (360/480)
TA1CCTL0 = CCIE; // разрешаем прерывание от регистра TA1CCR0
TA1CCTL1 = CCIE; // разрешаем прерывание от регистра TA1CCR1
TA1CCTL2 = CCIE; // разрешаем прерывание от регистра TA1CCR2
TA1CTL = TASSEL_2 + ID_0 + MC_1; // Источник тактирования SMCLK (1 МГц), /1, считать до TA1CCR0
__enable_interrupt();
while(1);
}
#pragma vector=TIMER1_A0_VECTOR
__interrupt void Timer1 (void)
{
P1OUT ^=BIT6;
}
/*
* main.c
*/
void main(void) {
WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer
// Инициализация светодиодов
P1DIR = BIT0 + BIT6;
P1OUT = 0;
// Инициализация таймера Timer1
TA1CCR0 = 480; // период таймера
TA1CCR1 = 120; // яркость свечения LED1 (120/480)
TA1CCR2 = 360; // яркоcть свечения LED2 (360/480)
TA1CCTL0 = CCIE; // разрешаем прерывание от регистра TA1CCR0
TA1CCTL1 = CCIE; // разрешаем прерывание от регистра TA1CCR1
TA1CCTL2 = CCIE; // разрешаем прерывание от регистра TA1CCR2
TA1CTL = TASSEL_2 + ID_0 + MC_1; // Источник тактирования SMCLK (1 МГц), /1, считать до TA1CCR0
__enable_interrupt();
while(1);
}
#pragma vector=TIMER1_A0_VECTOR
__interrupt void Timer1 (void)
{
P1OUT ^=BIT6;
}