請問各位...
我使用dsPIC30F4011
將PWM周期設定為1秒,duty固定50%
然後用TIMER設定中斷
中斷中將PTMR重設為0
並且用RE5輸出方便檢查PTMR重設的時間
中斷程式如下
void
__attribute__((__interrupt__,auto_psv))_T1Interrupt(void)
{
LATEbits.LATE5=1;
for(i=0;i<20000;i++);
LATEbits.LATE5=0;
PTMR=0;
IFS0bits.T1IF = 0 ;
}
出來的結果如圖
CH1為PWM輸出,CH2為RE5
PWM應該在RE5降為0之後變成新的周期
但是為何在重設PTMR為0之後的第一個周期中
看起來像是PWM的前20%左右被cut掉了??
我需要的是可以任意選定PWM開始的時間(周期固定)
請問只將PTMR設為0是不是會有什麼問題??
煩請解惑!!
謝謝!!!!!