Re: 用Capture 量測PWM的High的時間的問題
|
||||
---|---|---|---|---|
新會員
|
請問如果改成ccp2的話
有哪些要注意的呢? 謝謝^^
發表於: 2005/10/12 1:37
|
|||
|
Re: 用Capture 量測PWM的High的時間的問題
|
||||
---|---|---|---|---|
新會員
|
請問如果改成ccp2的話
有哪些要注意的呢? 謝謝^^
發表於: 2005/9/29 23:07
|
|||
|
Re: 用Capture 量測PWM的High的時間的問題
|
||||
---|---|---|---|---|
新會員
|
已經試了3天了...
第一次進入ISR之後出還之前有清掉旗標 第2次之後中斷旗標有上來..但..就是進不去ISR... 有人知道為什麼嗎?? 謝謝 !
發表於: 2005/7/4 12:02
|
|||
|
Re: 用Capture 量測PWM的High的時間的問題
|
||||
---|---|---|---|---|
新會員
|
我的波形是方波沒有錯。謝謝指教 ^^
發表於: 2005/7/3 10:26
|
|||
|
Re: 用Capture 量測PWM的High的時間的問題
|
||||
---|---|---|---|---|
新會員
|
你的輸入波形已經是方波了嗎?
不然你必須做一下訊號的處理,不然 Capture mode 會抓不到訊號的。 Jack
發表於: 2005/7/3 3:54
|
|||
|
用Capture 量測PWM的High的時間的問題
|
||||
---|---|---|---|---|
新會員
|
大家好~!!
我現在有個專題要用CCP1的Capture Mode 來量測PWM的High的時間. 因為有許多組PWM要量測..其他的都沒有問題..但是唯有用Capture量的這一個有問題. 晶片是18F458. 方法是 1.Capture 的中斷設定為Riging edge 2.發生中斷後在ISR裡面清除TMR1為0 3.更改Capture 的中斷Edge 為 Falling edge 4.Clear CCPIF 5.離開ISR 6.當遇到falling edge時進入ISR 7.讀取TMR1的時間 8.更改Capture 的中斷Edge 為 Riging edge 9.Clear CCPIF 10.離開ISR 之後就是重複這個步驟... ISR部分的程式及其他設定如下: #pragma code low_vector=0x0018 // low priotity interrupt isr void interrupt_low (void) {_asm goto ccp1_int _endasm} #pragma code #pragma void ccp1_int() { if(CCP1CONbits.CCP1M0==1) // if set for riging edge { WriteTimer1(0); CCP1CONbits.CCP1M0=0;// set Capture for falling edge } else//(CCP1CONbits.CCP1M0==0) // if set for riging edge { z=ReadTimer1(); CCP1CONbits.CCP1M0=1;// set Capture for riging edge } PIR1bits.CCP1IF=0; } #pragma //*************其他的相關設定********** //Setup Timer1 OpenTimer1(TIMER_INT_OFF& T1_16BIT_RW& T1_SOURCE_INT& T1_PS_1_1); //Setup Capture1 OpenCapture1(CAPTURE_INT_ON& C1_EVERY_RISE_EDGE); //Initialize Ports TRISCbits.TRISC2=1;// CCP1 // setup CCP1 PIR1bits.CCP1IF=0; PIE1bits.CCP1IE=1;// 0n IPR1bits.CCP1IP=0;// set for low priority RCONbits.IPEN=1; // enable priority interrupt INTCONbits.PEIE=1;// enable peripheral interrupt INTCONbits.GIE=1;// enable global interrupt 目前遇到的問題是.... 第一次可以進入ISR(riging edge)部分...之後就再也進不去了(包含falling edge 部分)... 是不是我有疏忽到的地方呢?? 非常抱歉...只能給部分的程式... 感謝各位的幫助.. 謝謝
發表於: 2005/7/2 9:43
|
|||
|