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.

Code:
' 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
Thanks