Cho mình hỏi code sai chỗ nào mà không chạy được vậy.
.
#include <msp430g2553.h>
void timer_a0_init();
void port_init();
/*************CHƯƠNG TRÌNH CON*****************/
void timer_a0_init()
{
TA0CTL = TASSEL_1 + MC_2 + ID_3 + TAIE ; // TIMER tăng lên 1 tương ứng 0.8us
TA0CCR0 = 31250; // tương ứng với 0.25s
TA0CCR1 = 62500 ; // tương ứng với 0.5s
TA0CCTL0 = CCIE ;
TA0CCTL1 = CCIE;
}
void port_init()
{
P1DIR |= BIT0 + BIT1 + BIT2;
P1OUT = 0XFF;
}
/**********************KHAI BAO NGAT**************/
#pragma vector = TIMER0_A1_VECTOR // vector ngat cua CCR1, CCR2, TAIFG
__interrupt void TAIN_Interrupt(void)
{
switch(TA0IV)
{
case 0x02: // CCR1 bao ngat, TA0IV gia tri 0x02
{
P1OUT ^= BIT0;
TA0CCR1 += 62500; // lan ngat sau bat dau tu gia tri 0.5s
break;
}
case 0x0A:
{
P1OUT ^= BIT1;
break;
}
}
}
#pragma vector = TIMER0_A0_VECTOR
__interrupt void CCR0_interrupt(void)
{
P1OUT ^= BIT2;
}
/**********************CHUONG TRINH CHINH*********************/
void main(void)
{
WDTCTL = WDTPW | WDTHOLD;// Stop watchdog timer
port_init();
timer_a0_init();
_BIS_SR(LPM0_bits + GIE);
}
/************************END************************/