PDA

View Full Version : dspic capture input modul


TOVU
06-12-2008, 03:52 PM
em đang viết chương trình đo khoãng thời gian xuất hiện 2 cạnh lên cho dspic 4011 nhưng nhận được giá tri la 000.không hiểu đã sai ở đâu.mong các anh chị chỉ giúp
phần start modul em de o ngat ngoai
//
TX1=0; //PHAT HONG NGOAI.
T3CON=1; // run TIMER 3
IC1CONbits.ICM= 0b001; // Generate capture event on every Rising edge
IEC0bits.IC1IE = 1; // Enable IC1 interrupt
BUSY=1;


void __attribute__((__interrupt__)) _IC1Interrupt(void)
{
unsigned long TIME_PERIOD; //number of pull
unsigned int SPEED;
unsigned long t1,t2;
if(i==1)
{
t1=IC1BUF+n*65535; // timer value at t1
i++;
IFS0bits.IC1IF=0; //CLEAR INTERUPT FLAG
STATUS_LED4=0;
}
else if(i==2)
{
T3CONbits.TON = 0; //DISABLE TIMER3
t2=IC1BUF+n*65535; //timer value at t2
WriteTimer3(0); //RESET TIMER3
i=0; //reset t1
n=0; // reset counter
CloseCapture1();
TIME_PERIOD=t2-t1;
SPEED=(unsigned int)(1000000/(TIME_PERIOD*Tcy*fan_wing));
Led_Display=SPEED;
STATUS_LED4=1;
BUSY=0; //FINISH PROCESS.
}


else // i=0
{
i++;
IFS0bits.IC1IF=0; //CLEAR INTERUPT FLAG
}

}