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.

28377 AD采样 burst mode 配置

大家好,

使用28377时,我想在EPWM1count在PRD和ZERO的时触发ADCINT1,执行相应的中断程序,在PRD和ZERO有四組不同的采样信号。第一次PRD时采样ADCINA1与B1,ZERO时采样ADCINA2,B2,第二次PRD时采样ADCINA3 B3,ZERO时采样ADCINA4 B4。

打算采样BURST MODE进行,在burstmode配置时有一个问题,由于每次AD转换的通道都是不同的,而我进入的中断是同一个,burst mode配置时AdcaRegs.ADCINTSEL1N2.bit.INT1SEL该如何配置??

  • 中断只和你PIE的配置以及选择那个源有关,一般都设置ADCINT1来进行配置。

  • 您好,首先感谢您的回复

    ADCINT1配置中断源的时候可以通过下面这句进行选择

    AdcaRegs.ADCINTSEL1N2.bit.INT1SEL = 0; //end of SOC0 will set INT1 flag EOC0 is trigger for ADCINT1

    现在我使用burst mode 配置完成后,需要对ADCINT1中断源进行选择,因为每次burst mode转换的通道不同,第一次时转换EPWM1COUNT值为PRD,此时转换ADCINA1 B1,我可以配置

    AdcaRegs.ADCINTSEL1N2.bit.INT1SEL = 0; //end of SOC0 will set INT1 flag EOC0 is trigger for ADCINT1

    但是下一次时epwm1count值为ZERO,转换通道为ADCINA2 B2,如果中断源不变的话应该不能够进入中断?那是否解决办法我必须在上次此中断程序结束后必须加上AdcaRegs.ADCINTSEL1N2.bit.INT1SEL = 1; //end of SOC0 will set INT1 flag EOC0 is trigger for ADCINT1  改变中断源才能实现我的要求?能否在burstmode初始化配置的时候就设置好?谢谢

    burst mode 配置

    AdcaRegs.ADCBURSTCTL.bit.BURSTEN = 1;

    AdcaRegs.ADCBURSTCTL.bit.BURSTTRIGSEL = 5;

      AdcaRegs.ADCBURSTCTL.bit.BURSTSIZE = 1;

    AdcaRegs.ADCSOC0CTL.bit.CHSEL = 0;

    AdcaRegs.ADCSOC0CTL.bit.ACQPS = 14;

    AdcaRegs.ADCSOC1CTL.bit.CHSEL = 1;

      AdcaRegs.ADCSOC1CTL.bit.ACQPS = 14;

    AdcaRegs.ADCSOC2CTL.bit.CHSEL = 2; 

    AdcaRegs.ADCSOC2CTL.bit.ACQPS = 14;

    AdcaRegs.ADCSOC3CTL.bit.CHSEL = 3; 

    AdcaRegs.ADCSOC3CTL.bit.ACQPS = 14;

    AdcbRegs.ADCBURSTCTL.bit.BURSTEN = 1; 

    AdcbRegs.ADCBURSTCTL.bit.BURSTTRIGSEL = 5;

    AdcbRegs.ADCBURSTCTL.bit.BURSTSIZE = 1;

    AdcbRegs.ADCSOC0CTL.bit.CHSEL = 0;

    AdcbRegs.ADCSOC0CTL.bit.ACQPS = 14;

    AdcbRegs.ADCSOC1CTL.bit.CHSEL = 1; 

    AdcbRegs.ADCSOC1CTL.bit.ACQPS = 14;

    AdcbRegs.ADCSOC2CTL.bit.CHSEL = 2;

    AdcbRegs.ADCSOC2CTL.bit.ACQPS = 14;

    AdcbRegs.ADCSOC3CTL.bit.CHSEL = 3;

    AdcbRegs.ADCSOC3CTL.bit.ACQPS = 14;

x 出现错误。请重试或与管理员联系。