Quantcast
Channel: MSP 低功耗微控制器论坛 - 最近的话题
Viewing all articles
Browse latest Browse all 3781

求助:MSP430F2132捕获的问题

$
0
0

最近有个项目,需要使用到MSP430F2132.需要用到捕获功能,MSP430F2132中的TA0中的捕获引脚有3个,分别对应CCR0(P1.1),CCR1(P1.2),CCR3(P1.3),目前P1.1和P1.2我做其他用途,现在用P1.3引脚做捕获,发现第一次能进入捕获中断,之后就不能进中断了,这到底是怎么回事?请大家指教指教!!

附上相关代码:

gpio设置:

void GPIO_Init(void)
{

 P1DIR &= (~BIT3);

 P1SEL   |=  (BIT3);
 P1SEL2 |=  (BIT3);
}

 

捕获功能设置:

void T0A3_cap_Init(void)
{
 TA0CTL   |= TASSEL_2 +ID_0 + MC_2;

 TA0CCTL2 |= CM_2;               // 下降沿捕获
 TA0CCTL2 |= CCIS_0;             // CCI2A做捕获输入
 TA0CCTL2 |= SCS;                // 同步方式
 TA0CCTL2 |= CAP;                // 捕获方式,
 TA0CCTL2 |= CCIE;
}

中断函数:

#pragma vector=TIMER0_A1_VECTOR
__interrupt void TIMER0_A3_CAP_ISR(void)
{
    switch(__even_in_range(TAIV,10))
    {
        case 2:    // P1.2捕获

     break;

        case 4:    // P1.3捕获
         Period1tmp = TA0CCR2;
         Period1new = Period1tmp - Period1old;
         Period1old = Period1tmp;
     break;

        case 10:

        break;
    }
}

注:我将P1.2做捕获测试了一下,是可以进入捕获程序的,为什么P1.3不行?


Viewing all articles
Browse latest Browse all 3781

Trending Articles