你好,我采用PWM1A和PWM2A产生2个有相位差的方波,占空比50%,代码如下,其余代码都一样
if(OffsetPhase)
{
PwmRegPoint->TBPHS.half.TBPHS=OffsetPhase;
PwmRegPoint->TBCTL.Bits.PHSEN=TB_ENABLE;
PwmRegPoint->TBCTL.Bits.PHSDIR=TB_DOWN; //598
PwmRegPoint->TBCTL.Bits.PRDLD=TB_SHADOW;
PwmRegPoint->TBCTL.Bits.SYNCOSEL=TB_SYNC_IN;
}
else
{
PwmRegPoint->TBPHS.half.TBPHS=0;
PwmRegPoint->TBCTL.Bits.PHSEN=TB_DISABLE;
PwmRegPoint->TBCTL.Bits.PRDLD=TB_SHADOW;
PwmRegPoint->TBCTL.Bits.SYNCOSEL=TB_CTR_ZERO;
}
当把PWM1A的OffsetPhase=0,PWM1B的OffsetPhase=TBTR时可以产生相位差,但是反过来
当把PWM1A的OffsetPhase=TBTR,PWM1B的OffsetPhase=0时产生不了相位,,波形是重叠的
1、这是什么原因?
2、如果把PWM1A的OffsetPhase=1 PWM1B的OffsetPhase=TBTR也不能产生相位差,波形是重叠的,这是什么原因