View Single Post
Old 06-12-2008, 03:52 PM   #1
TOVU
Đệ tử 1 túi
 
Tham gia ngày: Aug 2007
Bài gửi: 11
:
dspic capture input modul

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
Code:
//
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
		}

}

thay đổi nội dung bởi: namqn, 06-12-2008 lúc 05:24 PM.
TOVU vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn