PWM1和PWM2被设置成同步,单步运行时EPwmxRegs.TBCTR里的值也是一样的,但是连续运行时,发现watch windows 里面的EPwm1Regs.TBCTR和EPwm4Regs.TBCTR的值是不一样的,但是停止运行程序后,EPwm1Regs.TBCTR和EPwm4Regs.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.
PWM1和PWM2被设置成同步,单步运行时EPwmxRegs.TBCTR里的值也是一样的,但是连续运行时,发现watch windows 里面的EPwm1Regs.TBCTR和EPwm4Regs.TBCTR的值是不一样的,但是停止运行程序后,EPwm1Regs.TBCTR和EPwm4Regs.TBCTR的值又都变成一样的了,
请问这是怎么回事?谢谢!
你好,你说的“epwm_timer_interrupts例程”,是全局时钟同步,
EPwm1Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN; // Pass through
EPwm2Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN; // Pass through
EPwm3Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN; // Pass through
EPwm4Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN; // Pass through
EPwm5Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN; // Pass through
EPwm6Regs.TBCTL.bit.SYNCOSEL = TB_SYNC_IN; // Pass through
EPwmx.Regs.TBCTL.bit.SYNCOSEL 设置成0 ,1,2都没有关系吧?
有区别,之所以这里设置成TB_SYNC_IN和设置成disable没区别是因为这个例程中没有SYNC_IN信号。
你说的”连续运行时,发现watch windows 里面的EPwm1Regs.TBCTR和EPwm4Regs.TBCTR的值是不一样的“我也发现了,在下图处,把Halt the target的勾打起来就一样,不打起来,可能仿真器读取芯片内部的数据有快有慢,就不一样。