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时,我想在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该如何配置??
您好,首先感谢您的回复
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;