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.

TMS320F28335: EPWM时钟问题

Part Number: TMS320F28335


我通过使用EPWM1中断实现EPWM1与EPWM4的内移相程序(即初始EPWM1与EPWM4的移相角为半个周期),期间EPWM2与EPWM3的时钟关闭。当EPWM1与EPWM4的移相比为0,即同相时打开EPWM2与EPWM3的时钟,但我打开EPWM2与EPWM3的时钟时,初始TBCTR不为0,这是为什么呢?

    	EPwm1Regs.ETSEL.bit.INTEN=0;		//关PWM1(内移相)中断
    	EALLOW;
        EPwm2Regs.TBCTR=0;
        EPwm3Regs.TBCTR=0;
        EPwm5Regs.TBCTR=0;
        EPwm6Regs.TBCTR=0;
//        CpuTimer0Regs.TCR.bit.TSS = 0;					//启动PID中断,即启动定时器0
//        DELAY_US(1.1);									//为了错开启动PWM2,3时因PWM1产生同步信号而产生的影响
        while(EPwm1Regs.TBCTR != 0);
        SysCtrlRegs.PCLKCR1.bit.EPWM2ENCLK=1;			//PWM2,3时钟开启
        SysCtrlRegs.PCLKCR1.bit.EPWM3ENCLK=1;
        SysCtrlRegs.PCLKCR1.bit.EPWM5ENCLK=1;			//PWM2,3时钟开启
        SysCtrlRegs.PCLKCR1.bit.EPWM6ENCLK=1;
        EPwm2Regs.TZCLR.bit.OST=1;						//清除PWM2,3错误联防标志位
        EPwm3Regs.TZCLR.bit.OST=1;
        EPwm5Regs.TZCLR.bit.OST=1;						//清除PWM2,3错误联防标志位
        EPwm6Regs.TZCLR.bit.OST=1;

        EDIS;