MSP430F149 TIMER_A(一)——16位定时计数
(1).增计数模式:计数周期:TAR从0增加到TACCR0,
(2).连续计数模式:计数周期:TAR从0增加到0xffff,
(3).增减计数模式:计数周期:TAR从0增加到TACCR0然后再从TACCR0减到0
在IAR中,进入中断服务的方式如下:
#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)
{
}
评论