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.
Hi Experts:
我在使用280025的ADC时,出现了ADC无法使用。但是这个代码是之前已经验证过可以使用的。
后来在仿真时发现,ADC初始化后,ADC的寄存器的值还是都是0,但其他的外设模块都可以正常使用。
代码如下:
void Drv_AdcInit(void)
{
SetVREF(ADC_ADCA,ADC_INTERNAL,ADC_VREF3P3); //选择内部参考电压3.3V
SetVREF(ADC_ADCC,ADC_INTERNAL,ADC_VREF3P3); //选择内部参考电压3.3V
EALLOW;
AdcaRegs.ADCCTL2.bit.PRESCALE = 0x6; //ADC时钟 = 系统时钟 / 4, ADCCLK = Input Clock / 4.0 = 94.92 / 4.0 = 23.73M
AdcaRegs.ADCCTL1.bit.ADCPWDNZ = 1; //ADC上电
AdccRegs.ADCCTL2.bit.PRESCALE = 0x6; //ADC时钟 = 系统时钟 / 4, ADCCLK = Input Clock / 4.0 = 94.92 / 4.0 = 23.73M
AdccRegs.ADCCTL1.bit.ADCPWDNZ = 1; //ADC上电
AdcaRegs.ADCSOC0CTL.bit.TRIGSEL = 0; //软件启动
AdcaRegs.ADCSOC0CTL.bit.ACQPS = 0x10; //采样窗口为26个ADCCLK
AdcaRegs.ADCSOC0CTL.bit.CHSEL = 0x0; //A0
AdcaRegs.ADCSOC1CTL.bit.TRIGSEL = 0; //软件启动
AdcaRegs.ADCSOC1CTL.bit.ACQPS = 0x10; //采样窗口为26个ADCCLK
AdcaRegs.ADCSOC1CTL.bit.CHSEL = 0x1; //A1
AdccRegs.ADCSOC0CTL.bit.TRIGSEL = 0; //软件启动
AdccRegs.ADCSOC0CTL.bit.ACQPS = 0x10; //采样窗口为26个ADCCLK
AdccRegs.ADCSOC0CTL.bit.CHSEL = 0x00; //c0
AdccRegs.ADCSOC1CTL.bit.TRIGSEL = 0; //软件启动
AdccRegs.ADCSOC1CTL.bit.ACQPS = 0x10; //采样窗口为26个ADCCLK
AdccRegs.ADCSOC1CTL.bit.CHSEL = 0x01; //c1
AdcaRegs.ADCINTSEL1N2.bit.INT1E =1; //ADCINT1中断使能
AdcaRegs.ADCCTL1.bit.INTPULSEPOS = 1; //中断脉冲发生在转换结束后
AdcaRegs.ADCINTSEL1N2.bit.INT1SEL = 0; //EOC0触发ADCINT1
AdcaRegs.ADCINTSEL1N2.bit.INT1CONT = 0; //连续转换模式使能
AdcaRegs.ADCINTFLGCLR.bit.ADCINT1 = 1; //中断标志清零
EDIS;
EALLOW;
PieVectTable.ADCA1_INT = &Drv_AdcaIsr;
EDIS;
IER |= M_INT1;
PieCtrlRegs.PIEACK.bit.ACK1 = 1;
}
请问这是什么问题?
感谢您对TI产品的关注!为更加有效地解决您的问题,我们建议您将问题发布在E2E英文技术论坛上(https://e2e.ti.com/),将由资深的英文论坛工程师为您提供帮助。