捕获外部中断 后怎么一直在中断函数中循环?
#include <msp430x14x.h>
#define uchar unsigned char
#define uint unsigned int
uint temp,temp1;
long start, end, time ;
void delay(void)
{
uint f=500;
while(f--);
}
void delayms(int ms)
{
while(ms--)
{
int i=0;
for(i=0;i<=1600;i++);
}
}
void init(void)
{ uint i;
// P1DIR =0XFF;P1OUT =0XFF;
P2DIR =0XFF;P2OUT =0XF0;
P3DIR =0XFF;P3OUT =0XFF;
P4DIR =0XFF;P4OUT =0XFF;
P5DIR =0XFF;P5OUT =0XFF;
P6DIR =0XFF;P6OUT =0XFF;
P1DIR &=~BIT5;//P1IE = BIT5;
// P1IES=BIT5; P1IFG =0X00;
P1DIR &=~BIT2 ;P1SEL =BIT2;
_EINT();
BCSCTL1 &=~XT2OFF;
BCSCTL2 |= SELM1+DIVM_3;
TACTL=TASSEL_2+TACLR+MC_1 ; //timera_clk=Mclk=1MHz、连续计数模式、1分频
CCTL1=CM_3+SCS+CCIS_0+CAP+CCIE;
do
{
IFG1 &=~OFIFG;
for(i=0xFF;i>0;i--);
}
while ((IFG1 & OFIFG)!=0);
temp = temp1 = 0 ;
start = end = time =0 ;
}
void main(void)
{
WDTCTL =WDTPW+WDTHOLD ;
init();
uint i=0,j=0;
while(1)
{
delayms(5);
CCTL1 |=CCIE;
}
}
/********************Timer_A中断服务程序*************************/
#pragma vector = TIMERA1_VECTOR
__interrupt void Timer_A (void)
{
CCTL1 &=~CCIE;// TACTL |= MC_0;
P2OUT ^=0xff;
} |