|
msp430 g2553求助!想做一个按键捕获中断。。
[复制链接]
想做一个捕获中断,按下键的时候捕获计时器的值,松开的时候再捕获计时器的值
但是一开始的TIMER不知道该怎么设置
我是那么写的。。
TA1CTL = TASSEL_2 + ID_3+TACLR+MC_2+TAIE;
TA1CCTL1 =CAP+CM_3+CCIS_0+SCS+CCIE;
P1SEL_bit.P3 = ON;
#pragma vector = TIMER1_A1_VECTOR
__interrupt void RTI_T1_TACCR1(void) {
switch(TAIV) //TA中断向量查询
{
case 2: //是捕获中断 2为CCR1捕获中断向量值
if (TA1CCTL1 & CM0) //上升沿捕获
{
TA1CCTL1=(CCTL1&(~CM0))|CM1; //更变设置为下降沿触发
start=TAR; //记录初始时间
overflow=0;
P1IES_bit.P3=ON;//溢出计数变量复位
}
else if (TA1CCTL1 & CM1) //下降沿捕获
{
TA1CCTL1=(CCTL1&(~CM1))|CM0; //改为上升沿捕获
en = TA0R;
P1IES_bit.P3=OFF;
}
TA1CTL = TASSEL_2 + ID_3+ MC_2 + TACLR + TAIE;
CCTL1 |= CM_1+SCS+CCIS_0+CAP+CCIE;
break;
case 10: //是溢出中断
overflow++; //溢出次数自加1
break;
default:
break;
但是运行的时候TAR一直都是0,而且按键根本没有反应。。
不知道该怎么办。。
|
|