1.请问如果epwm1模块处于增-减计数模式,如果同步输出选择位SYNCOSEL选择01(即CTR=CMPB)时输出同步信号,那么如果CMPB<PRD的话,是否在一个周期内可以产生两个同步信号。
2.可以直接在中断程序中往时基计数器TBCTR赋值吗,那赋值完成时计数器就会从赋值开始计数吗?
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.
1.请问如果epwm1模块处于增-减计数模式,如果同步输出选择位SYNCOSEL选择01(即CTR=CMPB)时输出同步信号,那么如果CMPB<PRD的话,是否在一个周期内可以产生两个同步信号。
2.可以直接在中断程序中往时基计数器TBCTR赋值吗,那赋值完成时计数器就会从赋值开始计数吗?
你好,由于epwm资源紧张,我想把EPWM1模块的同步信号用来启动模拟比较器模块的斜坡补偿。而为了同步EPWM2以及EPWM3,因此在EPWM1.INT中断中往EPWM2以及EPWM3中的TBCTR写0,但在实际过程中却发现加入这个中断后TBCTR的计数值会超过PRD,进而造成epwm2\3模块的错误,不产生PWM波形,我去掉中断后epwm2/3模块会正常输出,这是什么原因。__interrupt void PWM1_ISR(void)
{
(*ePWM[2]).TBCTR = 0; //软件设置计数值为0,软件同步
(*ePWM[3]).TBCTR = 0; //软件同步
EPwm1Regs.ETCLR.bit.INT = 1; //Clear epwm flag reinitialize for next SOC
PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; // Acknowledge interrupt to PIE
}
斜坡发生器的PWMSYNC信号 和 EPWM模块间同步的EPWMSYNCI、EPWMSYNCO是不同信号:


sprui10a_TMS320F2803x Microcontrollers Technical Reference Manual (Rev. A) 第558页 第392页