急急急急急。。。两路捕获的问题??
为什么我的两路捕获只能够捕获一路呢?第二路不能够正常的工作呢?#include <msp430x14x.h>
#include "LCD1602.h"
unsigned int upflag=0;
unsigned int downflag=0;
int main( void )
{
WDTCTL = WDTPW + WDTHOLD;
LcdInit();
P1DIR &=~ BIT2+BIT3;
P1SEL = BIT2+BIT3; //设置P1.2为端口功能模块使用,即做捕获源
TACTL = TASSEL_2 +TACLR +TAIE + MC1;//ACLK
CCTL1 = CM_1 +SCS +CAP +CCIE; //输入上升沿捕获,CCI0A为您捕获信号源
CCTL2 = CM_1 +SCS +CAP +CCIE; //输入上升沿捕获,CCI0A为您捕获信号源
_EINT();
while(1){
WriteCommand(0x80);
WriteData(upflag+0x30);
WriteCommand(0xC0);
WriteData(downflag+0x30);
}
}
/*******************************************\
定时器A中断服务子函数
捕获待测信号上升沿
**********************************************/
#pragma vector = TIMERA1_VECTOR
__interrupt void Timer_A(void)
{
switch(TAIV) //向量查询
{
case 2: //捕获中断
if(CCTL1 & CM0) //捕获到上升沿
upflag++;TACCTL1 &=~CCIFG;break;
case 4:
if(CCTL2 & CM0) //捕获到上升沿
upflag++;TACCTL2 &=~CCIFG; break;
default:
break;
}
}
页:
[1]