MSP430F149 TIMER_A(一)——16位定時計數(shù)
(1).增計數(shù)模式:計數(shù)周期:TAR從0增加到TACCR0,
(2).連續(xù)計數(shù)模式:計數(shù)周期:TAR從0增加到0xffff,
(3).增減計數(shù)模式:計數(shù)周期:TAR從0增加到TACCR0然后再從TACCR0減到0
在IAR中,進入中斷服務(wù)的方式如下:
#pragma vector=中斷向量的入口地址
__interrupt void
比如:
#pragma vector=0x14
__interrupt void my_handler(void);
TIMERA0_VECTOR是單中斷源的,因此不需要判斷
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A0 (void)
{
P4OUT^=BIT0;
}
__interrupt void Timer_A0 (void)
{
}
既然TIMERA1_VECTOR由三種中斷源,則需要判斷,例子如下
#pragma vector=TIMERA1_VECTOR
__interrupt void Timer_A1 (void)
{
switch(TAIV)
{
case 0x02:break;
case 0x04:break;
case 0x0a:P4OUT^=BIT0;break;
}
}
__interrupt void Timer_A1 (void)
{
}
評論