大家好、
我们在 TMS320f280023控制器中遇到 ADC 样本读取问题请在下面找到 ADC 配置详细信息:
我们在 ePWM 上触发 ADC。 如果我应用断点并检查 ADC 采样计数是否已被读取并在 ADCRESULT 寄存器中给出结果、则 Initaillay、但20秒后、我删除了断点并运行 一段时间、然后我通过应用断点进行检查、然后不读取 ADC 采样结果 它们可以自由地使用计数的旧值。
SetVREF (ADC_ADCA、ADC_EXTERNAL、ADC_VREF3P3);
EALLOW;
AdcaRegs.ADCCTL2.bit.prescale = 6;//将 ADCCLK 分频器设置为/4
AdccRegs.ADCCTL2.bit.prescale = 6;//将 ADCCLK 分频器设置为/4
//将脉冲位置设置为晚期
AdcaRegs.ADCCTL1.bit.INTPULSEPOS=1;
AdccRegs.ADCCTL1.bit.INTPULSEPOS = 1;
/
//为 ADC 加电
AdcaRegs.ADCCTL1.bit.ADCPWDNZ = 1;
AdccRegs.ADCCTL1.bit.ADCPWDNZ = 1;
//延迟1ms 以允许 ADC 加电时间
DELAY_US (1000);
EDIS;
EALLOW;
AdcaRegs.ADCSOC0CTL.bit.CHSEL = 0;//当前0
AdcaRegs.ADCSOC0CTL.bit.ACQPS = 26;
AdcaRegs.ADCSOC0CTL.bit.TRIGSEL = 5;
// AdcdResultRegs.ADCRESULT0;结果//Current 0
//
AdcaRegs.ADCSOC1CTL.bit.CHSEL = 0x1;//当前1
AdcaRegs.ADCSOC1CTL.bit.ACQPS = 26;
AdcaRegs.ADCSOC1CTL.bit.TRIGSEL = 5;
//// AdcdResultRegs.ADCRESULT1;结果//当前
//
AdcaRegs.ADCSOC2CTL.bit.CHSEL = 0x2;// Cur 8.
AdcaRegs.ADCSOC2CTL.bit.ACQPS = 26;
AdcaRegs.ADCSOC2CTL.bit.TRIGSEL = 5;
// AdcdResultRegs.ADCRESULT2;结果
//
AdcaRegs.ADCSOC3CTL.bit.CHSEL = 0x3;// cur9
AdcaRegs.ADCSOC3CTL.bit.ACQPS = 26;
AdcaRegs.ADCSOC3CTL.bit.TRIGSEL = 5;
// AdcdResultRegs.ADCRESULT3;结果
//
//
AdcaRegs.ADCSOC4CTL.bit.CHSEL = 0x4;//直流总线反馈
AdcaRegs.ADCSOC4CTL.bit.ACQPS = 26;
AdcaRegs.ADCSOC4CTL.bit.TRIGSEL = 5;
// AdcdResultRegs.ADCRESULT4;结果
//
//
AdcaRegs.ADCSOC10CTL.bit.CHSEL = 0xA;// IP1
AdcaRegs.ADCSOC10CTL.bit.ACQPS = 26;
AdcaRegs.ADCSOC10CTL.bit.TRIGSEL = 5;
// AdcaResultRegs.ADCRESULT0;结果
//
AdcaRegs.ADCSOC5CTL.bit.CHSEL = 0x5;// MTEMP_1
AdcaRegs.ADCSOC5CTL.bit.ACQPS = 26;
AdcaRegs.ADCSOC5CTL.bit.TRIGSEL = 5;
// AdcaResultRegs.ADCRESULT1;结果
//
AdcaRegs.ADCSOC6CTL.bit.CHSEL = 0x6;//MTEMP_2
AdcaRegs.ADCSOC6CTL.bit.ACQPS = 26;
AdcaRegs.ADCSOC6CTL.bit.TRIGSEL = 5;
// AdcaResultRegs.ADCRESULT2;结果
//
AdcaRegs.ADCSOC7CTL.bit.CHSEL = 0x7;//OVT_FB
AdcaRegs.ADCSOC7CTL.bit.ACQPS = 26;
AdcaRegs.ADCSOC7CTL.bit.TRIGSEL = 5;
// AdcaResultRegs.ADCRESULT3;结果
AdcaRegs.ADCSOC8CTL.bit.CHSEL = 0x8;//ANA_1
AdcaRegs.ADCSOC8CTL.bit.ACQPS = 26;
AdcaRegs.ADCSOC8CTL.bit.TRIGSEL = 5;
// AdcaResultRegs.ADCRESULT4;结果
//
AdcaRegs.ADCSOC9CTL.bit.CHSEL = 0x9;//ANA_2
AdcaRegs.ADCSOC9CTL.bit.ACQPS = 26;
AdcaRegs.ADCSOC9CTL.bit.TRIGSEL = 5;
// AdcaResultRegs.ADCRESULT5;结果
//
AdcaRegs.ADCSOC11CTL.bit.CHSEL = 0xB;// IP2
AdcaRegs.ADCSOC11CTL.bit.ACQPS = 26;
AdcaRegs.ADCSOC11CTL.bit.TRIGSEL = 5;
// AdcbResultRegs.ADCRESULT0;结果
AdcaRegs.ADCSOC12CTL.bit.CHSEL = 0xC;//IP3
AdcaRegs.ADCSOC12CTL.bit.ACQPS = 26;
AdcaRegs.ADCSOC12CTL.bit.TRIGSEL = 5;
// AdcbResultRegs.ADCRESULT1;结果
AdcaRegs.ADCINTSEL1N2.bit.INT1CONT = 1;
AdcaRegs.ADCINTSEL1N2.bit.INT1SEL = 0;// SOC1结束将设置 INT1标志
AdcaRegs.ADCINTSEL1N2.bit.INT1E = 1;//启用 INT1标志
AdcaRegs.ADCINTFLGCLR.bit.ADCINT1 = 1;//确保 INT1标志被清除
EDIS;