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.
工具/软件:Code Composer Studio
HETIN 是 CBC 函数的源代码、当我测试它时、pwmxa 的输出被强制为低电平、然后在一个 PWM 周期后输出高电平。 但 epwmxb 始终为低电平。我 的配置是否有任何错误?
EPwm1Regs.DCTRIPSEL.bit.DCAHCOMPSEL = DC_COMP1OUT;// DCAH =比较器1输出
EPwm2Regs.DCTRIPSEL.bit.DCAHCOMPSEL = DC_COMP1OUT;// DCAH =比较器1输出
EPwm1Regs.TZDCSEL.bit.DCAEVT2 = TZ_DCBH_HI;// DCAEVT1 = DCAH 高电平(将变为有效
EPwm2Regs.TZDCSEL.bit.DCAEVT2 = TZ_DCBH_HI;// DCAEVT1 = DCAH 高电平(将变为有效
//比较器输出变为高电平)
EPwm1Regs.DCACTL.bit.EVT2SRCSEL = DC_EVT2;// DCAEVT1 = DCAEVT1 (未滤波)
EPwm1Regs.DCACTL.bit.EVT2FRCSYNCSEL = DC_EVT_异 步;//采用异步路径
EPwm2Regs.DCACTL.bit.EVT2SRCSEL = DC_EVT2;// DCAEVT1 = DCAEVT1 (未滤波)
EPwm2Regs.DCACTL.bit.EVT2FRCSYNCSEL = DC_EVT_异 步;//采用异步路径
// DCxEVT2事件可定义为逐周期。
EPwm1Regs.TZSEL.bit.DCAEVT2 = 1;
EPwm2Regs.TZSEL.bit.DCAEVT2 = 1;
EPwm1Regs.TZCTL.bit.TZA = TZ_FORCE_LO;// EPWMxA 将变为低电平
EPwm1Regs.TZCTL.bit.TSB = TZ_FORCE_LO;// EPWMxB 将变为低电平
EPwm2Regs.TZCTL.bit.TZA = TZ_FORCE_LO;// EPWMxA 将变为低电平
EPwm2Regs.TZCTL.bit.TSB = TZ_FORCE_LO;// EPWMxB 将变为低电平
如下图所示,红线是我想要的路径,配置是否有问题?
我看不到图像、有时是文件类型问题、有时是嵌入图像的方式。 "插入/编辑媒体" 按钮通常对我来说很有用。 如果您无法上传、请告诉我。
此致、
Cody
好的、您正在尝试使用 DCAEVT2来触发 CBC 机制。 这是可以完成的。
首先、您在 TZSEL 寄存器中正确设置了 DCAEVT2。
由于您希望使用 CBC 机制、因此需要将 TZCTL.TZA 和 TZCTL.TSB 配置为所需的操作。
您不希望使用 DCBEVT1、DCBEVT2、DCAEVT1或 DCAEVT2直接触发 PWM、因此请将这些事件设置为 TZCTL 寄存器中的"不执行任何操作"选项。
我认为这应该纠正您遇到的问题。 请告诉我。
此致、
Cody