Hi,
I've got a PIC18F2431 (with hardware PWM).
I generate three-phase waveform for an inverter with PWM0-5 outputs (each pair are complementary), so basically PWM0/2/4 generates low-side signals and PWM1/3/5 generates high-side signals.
Unfortunately on my PCB I've reversed PWM4 and PWM5 connections (pins 26 and 25 respectively). So basically I want just to reverse these signals in my program.
ThanksCode:' PWM update interrupt (timer 1) pwmint: ' Timer management T1CON.0=%0 copy.HIGHBYTE=TMR1H copy.LOWBYTE=TMR1L copy=copy+rld TMR1H=copy.HIGHBYTE TMR1L=copy.LOWBYTE T1CON.0=%1 ' PWM U phase calculation uduty=sine[ustep] uduty=(uduty<<res)**volt ' PWM V phase calculation vduty=sine[vstep] vduty=(vduty<<res)**volt ' PWM W phase calculation wduty=sine[wstep] wduty=(wduty<<res)**volt ' PWM U, V and W update PDC0H=uduty.HIGHBYTE PDC0L=uduty.LOWBYTE PDC1H=vduty.HIGHBYTE PDC1L=vduty.LOWBYTE PDC2H=wduty.HIGHBYTE PDC2L=wduty.LOWBYTE ' Phase angle calculation @ decf _ustep,1 @ decf _vstep,1 @ decf _wstep,1 ' Phase angle reinitialization IF ustep=0 THEN ustep=89 IF vstep=0 THEN vstep=89 IF wstep=0 THEN wstep=89 @ INT_RETURN




Bookmarks