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.

TMS320F28034的AD设置

Other Parts Discussed in Thread: TMS320F28034

专家您好:

我现在用的是picolo28034,需要用AD的以下功能:

1.同时采样8个AD通道模式    2.SOCX触发源都是PWM2_SOCA  3.在AD转换完成后触发ADCINT1中断,即PIETABLE中INT1.1位

我需要的是等这8个通道全部转换完成后,就只触发一个ADCINT1中断,

以下是我的配置,请帮我审查下是否正确,同网上给出得例程看,我少了(!!!标注的两句)

谢谢

EALLOW;

AdcRegs.ADCSAMPLEMODE.bit.SIMULEN0 = 1; //SOC0/SOC1同时采样
//SOC0
AdcRegs.ADCSOC0CTL.bit.ACQPS=6;//SOC0采样窗口
AdcRegs.ADCSOC0CTL.bit.CHSEL = 0; //soc通道选择A0 ---ADCRESULT0
AdcRegs.ADCSOC0CTL.bit.TRIGSEL=7;//触发源-PWM2-SOCA
//SOC1
AdcRegs.ADCSOC1CTL.bit.ACQPS=6;//SOC1采样窗口
AdcRegs.ADCSOC1CTL.bit.CHSEL = 8; //soc通道选择B0 ---ADCRESULT1
AdcRegs.ADCSOC1CTL.bit.TRIGSEL=7;//触发源-PWM2-SOCA


AdcRegs.ADCSAMPLEMODE.bit.SIMULEN2 = 1; //SOC2/SOC3同时采样
//SOC2
AdcRegs.ADCSOC0CTL.bit.ACQPS=6;//SOC2采样窗口
AdcRegs.ADCSOC0CTL.bit.CHSEL = 1; //soc通道选择A1 ---ADCRESULT2
AdcRegs.ADCSOC0CTL.bit.TRIGSEL=7;//触发源-PWM2-SOCA
//SOC3
AdcRegs.ADCSOC1CTL.bit.ACQPS=6;//SOC3采样窗口
AdcRegs.ADCSOC1CTL.bit.CHSEL = 9; //soc通道选择B1 ---ADCRESULT3
AdcRegs.ADCSOC1CTL.bit.TRIGSEL=7;//触发源-PWM2-SOCA


AdcRegs.ADCSAMPLEMODE.bit.SIMULEN4 = 1; //SOC4/SOC5同时采样
//SOC2
AdcRegs.ADCSOC0CTL.bit.ACQPS=6;//SOC4采样窗口
AdcRegs.ADCSOC0CTL.bit.CHSEL = 2; //soc通道选择A2 ---ADCRESULT4
AdcRegs.ADCSOC0CTL.bit.TRIGSEL=7;//触发源-PWM2-SOCA
//SOC3
AdcRegs.ADCSOC1CTL.bit.ACQPS=6;//SOC5采样窗口
AdcRegs.ADCSOC1CTL.bit.CHSEL = 10; //soc通道选择B2 ---ADCRESULT5
AdcRegs.ADCSOC1CTL.bit.TRIGSEL=7;//触发源-PWM2-SOCA


AdcRegs.ADCSAMPLEMODE.bit.SIMULEN6 = 1; //SOC6/SOC7同时采样
//SOC2
AdcRegs.ADCSOC0CTL.bit.ACQPS=6;//SOC6采样窗口
AdcRegs.ADCSOC0CTL.bit.CHSEL = 3; //soc通道选择A3 ---ADCRESULT6
AdcRegs.ADCSOC0CTL.bit.TRIGSEL=7;//触发源-PWM2-SOCA
//SOC3
AdcRegs.ADCSOC1CTL.bit.ACQPS=6;//SOC7采样窗口
AdcRegs.ADCSOC1CTL.bit.CHSEL = 11; //soc通道选择B3 ---ADCRESULT7
AdcRegs.ADCSOC1CTL.bit.TRIGSEL=7;//触发源-PWM2-SOCA

AdcRegs.ADCCTL1.bit.INTPULSEPOS  = 1;  //结果存入寄存器才产生中断  

PieVectTable.ADCINT1 = &ADC_convered;  

!!! AdcRegs.INTSEL1N2.bit.INT1SEL = 1;    //中断线1选择soc1--什么意思?

!!!  AdcRegs.INTSEL1N2.bit.INT1CONT  = 0;  //什么意思?

  AdcRegs.INTSEL1N2.bit.INT1E  = 1;    //中断使能  

  PieCtrlRegs.PIEIER1.bit.INTx1 = 1;   //使能int1.1  

EDIS;