void SetPwmStop_Downbridge(void)
{
EALLOW;
EPwm6Regs.TZFRC.bit.OST = 1; // disable
EDIS;
}
void SetPwmStart_Downbridge(void)
{
EALLOW;
EPwm6Regs.TZCLR.bit.OST = 1; // enable
EPwm6Regs.TZCLR.bit.INT = 1;
EDIS;
}
也试过开启时,清除计数器的值,量是现象一样!
Seven Han:没太看明白您的意思,请问您用的哪款芯片?在芯片PWM手册中有各种波形输出的代码,您也可以先测下。
void SetPwmStop_Downbridge(void)
{
EALLOW;
EPwm6Regs.TZFRC.bit.OST = 1; // disable
EDIS;
}
void SetPwmStart_Downbridge(void)
{
EALLOW;
EPwm6Regs.TZCLR.bit.OST = 1; // enable
EPwm6Regs.TZCLR.bit.INT = 1;
EDIS;
}
也试过开启时,清除计数器的值,量是现象一样!
jd9945:
回复 Seven Han:
不好意思28377s, 可能没有表达清楚,我是说我用上面的代码,关闭与开启时, 会出现上图那样,第一个脉冲不完整的样子,
void SetPwmStop_Downbridge(void)
{
EALLOW;
EPwm6Regs.TZFRC.bit.OST = 1; // disable
EDIS;
}
void SetPwmStart_Downbridge(void)
{
EALLOW;
EPwm6Regs.TZCLR.bit.OST = 1; // enable
EPwm6Regs.TZCLR.bit.INT = 1;
EDIS;
}
也试过开启时,清除计数器的值,量是现象一样!
user4661451:
回复 jd9945:
你开启时PWM脉宽计数器或许已经计数了一部分呢?