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.

关于28335 pwm输出全部拉低的配置问题

目前在做的一个项目中,遇到一个这样的问题:

PWM在配置为互补对管时,使用以下代码:

EPwm1Regs.AQCSFRC.bit.CSFA = FORCE_LOW;
EPwm1Regs.AQCSFRC.bit.CSFB = FORCE_LOW;
EPwm2Regs.AQCSFRC.bit.CSFA = FORCE_LOW; //Forces a continuous low on output
EPwm2Regs.AQCSFRC.bit.CSFB = FORCE_LOW;
EPwm3Regs.AQCSFRC.bit.CSFA = FORCE_LOW;
EPwm3Regs.AQCSFRC.bit.CSFB = FORCE_LOW;

但是实际测量发现,PWM互补对管有一个为高,有一个为低,不能实现对管完全输出为低?

求大神指点!!在线等待.......................多谢

  • 可否用JTAG看一下实际寄存器中的值是多少?

    另外,另一个PWM口有没有配置成为IO口?

    Regards,
    Jack
  • 如果看到一个为高 一个为低 那就说明你的模式还是配置为互补输出功能了
    没有配置为强制输出功能 核对其他相关寄存器
  • 如果看到一个为高 一个为低 那就说明你的模式还是配置为互补输出功能了
    没有配置为强制输出功能 核对其他相关寄存器
  • 谢谢你的回复。我的本身就是需要互补的PWM输出。文档的说明也只有

    EPwm1Regs.AQCSFRC.bit.CSFA = FORCE_LOW;
    EPwm1Regs.AQCSFRC.bit.CSFB = FORCE_LOW;
    EPwm2Regs.AQCSFRC.bit.CSFA = FORCE_LOW; //Forces a continuous low on output
    EPwm2Regs.AQCSFRC.bit.CSFB = FORCE_LOW;
    EPwm3Regs.AQCSFRC.bit.CSFA = FORCE_LOW;
    EPwm3Regs.AQCSFRC.bit.CSFB = FORCE_LOW;

    我的项目中就是要用到3对PWM输出,但是需要对每对管脚都能强制拉低,而不是一高 一低。如何实现

    EPwm1Regs.AQCSFRC.bit.CSFA = FORCE_LOW;
    EPwm1Regs.AQCSFRC.bit.CSFB = FORCE_LOW;

    只能拉低A,B的却是为高!

  • 可否用JTAG看一下实际寄存器里对就的值是多少? GPIO与EPWM对应的CLOCK有没有使能?

    EPWM对的应的IO口的配置是怎样的?请把JTAG读到的值打出来看
x 出现错误。请重试或与管理员联系。