我现在AD采用的是级联同步采样模式,通道A0的结果寄存器是正常的,但是通道B0的结果寄存器值始终为0
void ADCInit(void)
{
// Configure ADC
AdcRegs.ADCTRL1.bit.ACQ_PS = ADC_SHCLK; //adc内部分频4位现在4分频12.5Mhz
AdcRegs.ADCTRL3.bit.ADCCLKPS = ADC_CKPS; //可以再进行一次额外的二分频,为0则不分频
//一次ADC转换的周期
// AdcRegs.ADCTRL1.bit.SEQ_CASC = 0; // 0 非级联模式
AdcRegs.ADCTRL1.bit.SEQ_CASC = 1; //1 级联模式
//顺序采样模式
//AdcRegs.ADCTRL3.bit.SMODE_SEL=0
//同步采样模式(考虑到可同时采样输入电压和电流)
AdcRegs.ADCTRL3.bit.SMODE_SEL=1;
//最大转换通道数,采样3个变量,每个采4次
AdcRegs.ADCMAXCONV.all = 0x0007; // Setup 2 conv's on SEQ1
//采用启动停止方式,因为只是每个载波频率采样而已
AdcRegs.ADCTRL1.bit.CONT_RUN=0;
//输入电压和电流:adcA0和adcB0
//输出电压和电流:adcA1和adcB1
AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x0; // ADCINA0 & ADCINB0
AdcRegs.ADCCHSELSEQ1.bit.CONV01 = 0x1; // ADCINA1 & ADCINB1
AdcRegs.ADCCHSELSEQ1.bit.CONV02 = 0x0; //
AdcRegs.ADCCHSELSEQ1.bit.CONV03 = 0x1; //
AdcRegs.ADCCHSELSEQ2.bit.CONV04 = 0x0; //
AdcRegs.ADCCHSELSEQ2.bit.CONV05 = 0x1;
AdcRegs.ADCCHSELSEQ2.bit.CONV06 = 0x0;
AdcRegs.ADCCHSELSEQ2.bit.CONV07 = 0x1;
//允许epwm事件触发adc
AdcRegs.ADCTRL2.bit.EPWM_SOCA_SEQ1 = 1;// Enable SOCA from ePWM to start SEQ1
AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1 = 1; // Enable SEQ1 interrupt (every EOS)使能seq1中断
// Assumes ePWM1 clock is already enabled in InitSysCtrl();
}
这是AD初始化程序
请问这是怎么回事,应该怎么解决