TI中文支持网
TI专业的中文技术问题搜集分享网站

F28032 ADC

void ADC_Init(void)

{

int i;

   DINT;

EALLOW;

AdcRegs.ADCCTL1.bit.ADCBGPWD=1;

AdcRegs.ADCCTL1.bit.ADCREFPWD=1;

for(i=0;i<20000;i++);

AdcRegs.ADCCTL1.bit.ADCPWDN=1;

for(i=0;i<2000;i++);

AdcRegs.ADCCTL1.bit.ADCENABLE=ADC_ENABLE;

AdcRegs.ADCCTL1.bit.ADCREFSEL=0;      //Internal    Bandgap used for reference generation

AdcRegs.ADCCTL1.bit.TEMPCONV=1;       //Temperature sensor is internally connected to the ADC for sampling

//AdcRegs.ADCCTL1.bit.ADCENABLE=ADC_ENABLE;

AdcRegs.ADCSOC0CTL.bit.CHSEL=CHSEL_ADCINA5;

AdcRegs.ADCSOC0CTL.bit.ACQPS=6;                 //set SOC0 S/H Window to 7 ADC Clock Cycles, (6 ACQPS plus 1)

AdcRegs.ADCSOC0CTL.bit.TRIGSEL=ADCTRIG_EPWM1A;

AdcRegs.INTSEL1N2.bit.INT1SEL = 0;

AdcRegs.INTSEL1N2.bit.INT1E     = 1; //Enabled ADCINT1

AdcRegs.ADCSOC1CTL.bit.CHSEL=CHSEL_ADCINA1;

AdcRegs.ADCSOC1CTL.bit.ACQPS=14;                 //set SOC1 S/H Window to 7 ADC Clock Cycles, (6 ACQPS plus 1)

AdcRegs.ADCSOC1CTL.bit.TRIGSEL=ADCTRIG_SOFT;

AdcRegs.INTSEL1N2.bit.INT2SEL = 1;

AdcRegs.INTSEL1N2.bit.INT2E     = 1; //Enabled ADCINT2

AdcRegs.ADCSOC2CTL.bit.CHSEL = CHSEL_ADCINA0;

AdcRegs.ADCSOC2CTL.bit.ACQPS = 14;

AdcRegs.ADCSOC2CTL.bit.TRIGSEL = ADCTRIG_SOFT;

AdcRegs.INTSEL3N4.bit.INT3SEL = 2;

AdcRegs.INTSEL3N4.bit.INT3E     = 1; //Enabled ADCINT2

AdcRegs.ADCCTL1.bit.INTPULSEPOS = 1; //ADCINT1 trips after AdcResults latch

SysCtrlRegs.PCLKCR0.bit.ADCENCLK=1;

EDIS;

}

我在对以上寄存器进行配置时,为什么在data memory中相应寄存器值不改变,求解是何原因?

补充说明:EALLOW已写过;总中断已经屏蔽;

weiju zhu:

把5100仿真器换成XDS100问题解决

void ADC_Init(void)

{

int i;

   DINT;

EALLOW;

AdcRegs.ADCCTL1.bit.ADCBGPWD=1;

AdcRegs.ADCCTL1.bit.ADCREFPWD=1;

for(i=0;i<20000;i++);

AdcRegs.ADCCTL1.bit.ADCPWDN=1;

for(i=0;i<2000;i++);

AdcRegs.ADCCTL1.bit.ADCENABLE=ADC_ENABLE;

AdcRegs.ADCCTL1.bit.ADCREFSEL=0;      //Internal    Bandgap used for reference generation

AdcRegs.ADCCTL1.bit.TEMPCONV=1;       //Temperature sensor is internally connected to the ADC for sampling

//AdcRegs.ADCCTL1.bit.ADCENABLE=ADC_ENABLE;

AdcRegs.ADCSOC0CTL.bit.CHSEL=CHSEL_ADCINA5;

AdcRegs.ADCSOC0CTL.bit.ACQPS=6;                 //set SOC0 S/H Window to 7 ADC Clock Cycles, (6 ACQPS plus 1)

AdcRegs.ADCSOC0CTL.bit.TRIGSEL=ADCTRIG_EPWM1A;

AdcRegs.INTSEL1N2.bit.INT1SEL = 0;

AdcRegs.INTSEL1N2.bit.INT1E     = 1; //Enabled ADCINT1

AdcRegs.ADCSOC1CTL.bit.CHSEL=CHSEL_ADCINA1;

AdcRegs.ADCSOC1CTL.bit.ACQPS=14;                 //set SOC1 S/H Window to 7 ADC Clock Cycles, (6 ACQPS plus 1)

AdcRegs.ADCSOC1CTL.bit.TRIGSEL=ADCTRIG_SOFT;

AdcRegs.INTSEL1N2.bit.INT2SEL = 1;

AdcRegs.INTSEL1N2.bit.INT2E     = 1; //Enabled ADCINT2

AdcRegs.ADCSOC2CTL.bit.CHSEL = CHSEL_ADCINA0;

AdcRegs.ADCSOC2CTL.bit.ACQPS = 14;

AdcRegs.ADCSOC2CTL.bit.TRIGSEL = ADCTRIG_SOFT;

AdcRegs.INTSEL3N4.bit.INT3SEL = 2;

AdcRegs.INTSEL3N4.bit.INT3E     = 1; //Enabled ADCINT2

AdcRegs.ADCCTL1.bit.INTPULSEPOS = 1; //ADCINT1 trips after AdcResults latch

SysCtrlRegs.PCLKCR0.bit.ADCENCLK=1;

EDIS;

}

我在对以上寄存器进行配置时,为什么在data memory中相应寄存器值不改变,求解是何原因?

补充说明:EALLOW已写过;总中断已经屏蔽;

weiju zhu:

但不知为什么?

赞(0)
未经允许不得转载:TI中文支持网 » F28032 ADC
分享到: 更多 (0)