This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
大家好!
我在用ePWM的时候碰到了一个奇怪的现象。如下图所示,AQCTLA.bit.CAD设置为2(置1),但是途中红色圈内的PWM脉冲和预想的不一样(应该是比较小的一个脉冲),这种情况会周期性的出现。请问下可能是什么原因呢?谢谢
下降沿是由 AQCTLA.bit.CAU=AQ_CLEAR 设置的。后来我甚至加入了AQCTLA.bit.PRD=AQ_CLEAR,但是仍然会存在图中的情况
我好像发现问题了。
下图一个是计算得到的占空比,一个是给CMPA赋值之后读取的值。不知道为什么,CMPA过段时间就会得到一个很大的值,而且一般在占空比从0到有值或者从有值到0处发生。
占空比给零由下实现:
int zero = 0;
p->Duty2A = zero;
CMPA赋值由下实现:
EPwm3Regs.CMPA.half.CMPA = (int)(2.0 * p->PeriodMax * p->Duty2A);
两者不在同一个函数/结构体
解决了。不是0的问题,是其他占空比计算出了负值。