2812 adc 采集

2019-07-17 13:27发布

你好,用2812 内部AD采集,仿真器每次复位后第一次采集数据正确,后面能进中断,但采集数据为0,请多指点.
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
9条回答
zhangmangui
2019-07-18 09:11
lzwxa 发表于 2014-5-22 10:06
ADC时钟确认使能,求解决

那应该是配置的问题了
void InitAdc(void)
{
        unsigned int i;
       
        AdcRegs.ADCTRL1.bit.RESET=1;
        NOP;
        AdcRegs.ADCTRL1.bit.RESET=0;
        AdcRegs.ADCTRL1.bit.SUSMOD=3;
        AdcRegs.ADCTRL1.bit.ACQ_PS=0;
        AdcRegs.ADCTRL1.bit.CPS=0;
        AdcRegs.ADCTRL1.bit.CONT_RUN=0;
        AdcRegs.ADCTRL1.bit.SEQ_CASC=1;
       
        AdcRegs.ADCTRL3.bit.ADCBGRFDN=3;
        for(i=0;i<10000;i++)        NOP;
        AdcRegs.ADCTRL3.bit.ADCPWDN=1;
        for(i=0;i<5000;i++)        NOP;
        AdcRegs.ADCTRL3.bit.ADCCLKPS=10;
        AdcRegs.ADCTRL3.bit.SMODE_SEL=1;
       
        AdcRegs.MAX_CONV.bit.MAX_CONV=7;//15;
       
        AdcRegs.CHSELSEQ1.bit.CONV00=0;
        AdcRegs.CHSELSEQ1.bit.CONV01=1;
        AdcRegs.CHSELSEQ1.bit.CONV02=2;
        AdcRegs.CHSELSEQ1.bit.CONV03=3;
       
        AdcRegs.CHSELSEQ2.bit.CONV04=4;
        AdcRegs.CHSELSEQ2.bit.CONV05=5;
        AdcRegs.CHSELSEQ2.bit.CONV06=6;
        AdcRegs.CHSELSEQ2.bit.CONV07=7;
/*       
        AdcRegs.CHSELSEQ3.bit.CONV08=8;
        AdcRegs.CHSELSEQ3.bit.CONV09=9;
        AdcRegs.CHSELSEQ3.bit.CONV10=10;
        AdcRegs.CHSELSEQ3.bit.CONV11=11;
       
        AdcRegs.CHSELSEQ4.bit.CONV12=12;
        AdcRegs.CHSELSEQ4.bit.CONV13=13;
        AdcRegs.CHSELSEQ4.bit.CONV14=14;
        AdcRegs.CHSELSEQ4.bit.CONV15=15;
*/       
        AdcRegs.ADC_ST_FLAG.bit.INT_SEQ1_CLR=1;
        AdcRegs.ADC_ST_FLAG.bit.INT_SEQ2_CLR=1;       
       
        AdcRegs.ADCTRL2.bit.EVB_SOC_SEQ=0;
        AdcRegs.ADCTRL2.bit.RST_SEQ1=0;
        AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1=1;
        AdcRegs.ADCTRL2.bit.INT_MOD_SEQ1=0;
        AdcRegs.ADCTRL2.bit.EVA_SOC_SEQ1=0;
        AdcRegs.ADCTRL2.bit.EXT_SOC_SEQ1=0;
        AdcRegs.ADCTRL2.bit.RST_SEQ2=0;
        AdcRegs.ADCTRL2.bit.SOC_SEQ2=0;
        AdcRegs.ADCTRL2.bit.INT_ENA_SEQ2=0;
        AdcRegs.ADCTRL2.bit.INT_MOD_SEQ2=0;
        AdcRegs.ADCTRL2.bit.EVB_SOC_SEQ2=0;
        AdcRegs.ADCTRL2.bit.SOC_SEQ1=1;
       
}

一周热门 更多>