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.

28035如何使用PWM触发CLA中断?

各位大侠,有没有谁用过PWM触发CLA中断的?目前在例程中只有ADC触发CLA中断,没有PWM触发CLA中断的,我按照说明书上进行了配置,但是始终进不了CLA中断啊!

  • 例程中好像是软件触发的CLA中断,PWM触发CLA你需要设置一下MPISRCSEL1中的中断源。

  • 谢谢,PWM触发也是通过软件触发,只是例程中是通过ADC触发,而我希望的是PWM定时触发,除了设置MPISRCSEL1这个寄存器,对PWM寄存器还需要设置吗?

  • 例程中有ADC硬件触发CLA的话,PWM触发CLA跟ADC触发CLA的配置流程也类似。PWM当然也需要配置,只有PWM运行起来后才会触发中断,PWM的配置可以参考其它例程中的PWM配置步骤。

  • void InitCla(void)
    {
           EALLOW;

          Cla1Regs.MPISRCSEL1.bit.PERINT7SEL = CLA_INT3_EPWM3INT;

          MemCopy(&Cla1funcsLoadStart, &Cla1funcsLoadEnd, &Cla1funcsRunStart);
         Cla1Regs.MMEMCFG.bit.PROGE = 1;

        Cla1Regs.MCTL.bit.IACKE = 1;
        Cla1Regs.MIER.all = M_INT3;

        PieVectTable.CLA1_INT3 = &CLA1_INT3_ISR;

        IER |= M_INT11;

        PieCtrlRegs.PIEIER11.bit.INTx3 = 1;

        EDIS;
    }


    interrupt void CLA1_INT3_ISR(void) 
    {

    GpioDataRegs.GPBTOGGLE.bit.GPIO43 = 1; //test

    EPwm3Regs.ETCLR.bit.INT = 1;

    Cla1Regs.MCTL.bit.IACKE = 1;

    Cla1Regs.MICLR.bit.INT3 = 1;
    PieCtrlRegs.PIEACK.all |= PIEACK_GROUP11;
    EINT;
    }

    我的CLA中断配置是这样的,PWM的配置也是和例程的一样,我想问下,PWM有没有与CLA中断相关的寄存器需要配置?我按照正常配置后,系统始终进不了CLA中断,能帮忙看下到底是什么原因么?