#include "in430.h"
#include "io430.h"
unsigned char i ;
void main( void )
{
WDTCTL = WDTPW + WDTHOLD;
DCOCTL=CALDCO_1MHZ;
BCSCTL1=CALBC1_1MHZ;
P1OUT = 0x00;
P1DIR = 0xFF;
P4OUT = 0x00;
P4DIR = 0xFF;
P2OUT = 0x00;
P2DIR = 0xFF;
P3OUT = 0x00;
P3DIR = 0xFF;
TBCCR0=20000;
TBCCTL0=CCIE;
TBCTL=TBSSEL_2 + MC_1 + TBIE;
TA0CCTL0=CCIE;
TA0CCR0=10000;
TA0CTL=TASSEL_2 + MC_1 + TAIE;
TACCTL1=CCIE;
TACCR1=30000;
TACTL=TASSEL_2 + MC_1 + TAIE;
_BIS_SR(GIE);
for(;;);
}
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A0 (void)
{
i++;
if(i==100)
{
P1OUT_bit.P0 ^=1;
i=0;
}
TACTL_bit.TAIFG = 0;
}
#pragma vector=TIMERB0_VECTOR
__interrupt void Timer_B0 (void)
{
i++;
if(i==100)
{
P4OUT_bit.P0 ^=1;
i=0;}
TBCTL_bit.TBIFG = 0;}
#pragma vector=TIMER0_A1_VECTOR
__interrupt void timera1 (void)
{
switch (__even_in_range(TAIV, 10))
{
case 2: i++;
if(i==100)
{
P1OUT_bit.P2 ^= 1;
i=0;
}
TACTL_bit.TAIFG = 0;break;}
}
I want to make 3 different timer interrupt...I' m trying this code for msp430f247..Also I practice in proteus..
TA0 and TB0 is working but TA1 not working..
But when I change the TACCR1=30000; as TACCR1=10000; only TA1 is working and the other timer interrupt not working...
How can I solve this problem??