专家您好:
我用的是28034,需要AD以下功能:
1.同时采样模式,且同时采样4个AD通道 2.触发源都是PWM2_SOCA 3.等4个AD转换完成后触发ADCINT1中断,只此一个中断即可
以下是我的配置代码,请帮忙审核,谢谢
EALOW;
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.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;
加!!!标注的句子是网上的例程,有点看不明白。唉