DSP2812的PWM单元产生两路PWM脉冲,我想让其中一路PWM7超前(或者滞后)于另一路PWM1,该怎么样实现?大家都是用什么方式塑造这两路脉冲的?<br /> 附图是我想要的两路脉冲:<br /> 我用了EVA中的一路PWM1和EVB中的另一路PWM2,然后采用EvbRegs.CMPR4 = EvaRegs.CMPR1-30,使得PWM7确实超前了PWM1,但是,与此同时带来的问题是使得PWM7的脉宽变大了(比如我只想要0.06T的脉宽),我该怎样减少PWM7的脉宽?<br /> 我用了<br /> {if (EvbRegs.T3CNT < EvbRegs.CMPR4)<br /> EvbRegs.ACTRB.bit.CMP7ACT = 0;<br /> else if(EvbRegs.T3CNT < EvbRegs.CMPR4+45) <br /> EvbRegs.ACTRB.bit.CMP7ACT = 3; <br /> else <br /> EvbRegs.ACTRB.bit.CMP7ACT = 0;}<br /> 目的是想通过强制高或强制低满足我的PWM7,只在EvbRegs.CMPR4<EvbRegs.T3CNT<EvbRegs.CMPR4+45之间强制输出高电平,之外强制输出低电平,<br /> 可是新的问题又来了,因为我采用的是连续增/减模式,增半部分和减半部分理论上都会出现小脉冲,我该怎么办?<br /> |
|