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.

28069 PWM中断里面软件强制触发16路ADC转换,ADC转换完成后触发CLA滤波的问题

Other Parts Discussed in Thread: CONTROLSUITE

 我在ePWM1的INT中断里面利用软件强制触发16路AD转换,ADC转换完成后后触发CLA进行滤波计算,之后CLA触发中断通知主程序进行控制输出

现在的问题是:

(1)如果使能adc1_isr中断,则epwm1_timer_isr无法运行

(2)后来参照D:\ti\controlSUITE\device_support\f2806x\v151\F2806x_examples_ccsv5\cla_adc_fir_flash例程序修改成不允许adc1_isr中断,则epwm1_timer_isr运行一段时间后又就无法中断了;复位i在运行,也中断同样的次数后epwm1_timer_isr又无法中断了

   PieVectTable.TINT0        = &cpu_timer0_isr; 
    PieVectTable.ADCINT1     = &adc1_isr;         
      PieVectTable.EPWM1_INT     = &epwm1_timer_isr;
    EDIS;

    PieCtrlRegs.PIECTRL.bit.ENPIE = 1;          // Enable the PIE block
    PieCtrlRegs.PIEIER1.bit.INTx7 = 1;          // tint0_isr;
    PieCtrlRegs.PIEIER1.bit.INTx1 = 1;            // adc1_isr;
    PieCtrlRegs.PIEIER3.bit.INTx1 = 1;            // epwm1_timer_isr;
    PieCtrlRegs.PIEIER11.bit.INTx1 = 1;            // cla1_task1_isr;

    PieCtrlRegs.PIEACK.all = (M_INT1 | M_INT3 | M_INT11) ;

     IER |= M_INT1;
    IER |= M_INT3;
    IER |= M_INT11;