![]() |
|
Tài trợ cho PIC Vietnam |
||||||||
| dsPIC - Bộ điều khiển tín hiệu số 16-bit Theo dự kiến của Microchip, vào khoảng năm 2011 dsPIC sẽ có doanh số lớn hơn PIC |
|
|
Ðiều Chỉnh | Xếp Bài |
|
|
#1 |
|
Đệ 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. |
|
|
|
|
|