菜鳥新學的DSPIC30F2010,在使用PWM輸出口做逆變電源,使用雙更新模式,PWM口的初始化如下, //PWM功能初始化 void Init_PWM( void ) { PTMR = 0x0000; //PWM時基寄存器PTPER = dLoopInTcy; // 設定PWM的頻率 PWMCON1 = 0x0077; // 使能PWM口 PTCON = 0x8003; //,雙邊更新,時基為Tcy PWMCON2 = 0x0004; //使能占空比立即更新 DTCON1 =0x0000; PDC1 = Pwm_min; //初始化占空比 PDC2 = Pwm_min; OVDCON = 0x3F3F; //開始由PWM發(fā)生器控制FLTACON=0x0003;//故障引腳為低電平時,6路PWM輸出無效SEVTCMP = 0; // 0 不由PWM啟動AD轉換SEVTCMPbits.SEVTDIR = 0; //=0 ,特殊事件觸發(fā)信號將在PWM 時基的向上計數(shù)周期產生IPC9bits.PWMIP = 6;//PWM中斷優(yōu)先級為6級IFS2bits.PWMIF = 0; //清PWM中斷標志位IEC2bits.PWMIE = 1; // 使能PWM 中斷IPC10bits.FLTAIP = 7 ;//設置過流故障中斷為7級中斷 IFS2bits.FLTAIF = 0;// 故障中斷標志清零.IEC2bits.FLTAIE = 1;// 使能故障中斷 A } 想在一個PWM周期內占空比更新兩次,可從濾波口輸出看不出更新兩次,只看到一次變化,但實際計算的時候確實是算了兩次,也用了兩次,只是不知道別人的怎么能看到兩次,下圖是從濾波口看到的一個PWM周期的對應變化正弦波,1是別人的程序,明顯看到一個PWM波內有兩個變化,2是自己的程序,一個PWM周期只看到一個變化 ,各位說說如何實現(xiàn)圖1的兩次變化的形式呢?