[求助] dspic30f4011AD采样的问题

syn222   2017-11-1 19:44 楼主
悬赏 10 分 芯积分未解决
设置成自动采样和转换,用mplab IDE X的debugger调试单步点暂停时看到watch中的采样值是对的,但实际跑的时候总有问题,以下是AD设置,用的是B0,B1,B2口作为AN0,AN1,AN2
void Init_ADC(void)
{
ADCON1bits.FORM = 0;//整型
ADCON1bits.SSRC = 7;//自动转换
  ADCON1bits.ASAM = 1;//采样结束后立即转换
        ADCON1bits.SIMSAM = 1;//同时采样
        ADCON2bits.SMPI = 0;//每1个采样产生中断
        ADCON2bits.CHPS = 2;//转换ch0, 1,2 , 3

           ADCON3bits.SAMC = 6;//自动采样时间6*TAD
        ADCON3bits.ADCS = 23;//TAD=750ns
       ADCHS = 0;//CH0,1对应AN0,CH2对应AN1,CH3对应AN2
          ADCSSL = 0x0007;//对AN0,1,2扫描
            ADPCFG = 0xFFFF;
        ADPCFGbits.PCFG2 = 0;
       ADPCFGbits.PCFG0 = 0;
        ADPCFGbits.PCFG1 = 0;//模拟输入
         IFS0bits.ADIF = 0;
          IEC0bits.ADIE = 1;
           ADCON1bits.ADON = 1;
}

void __attribute__((interrupt, auto_psv)) _ADCInterrupt(void)
{       IFS0bits.ADIF = 0;
AA1= ADCBUF0;//读取采样值
        BB1 = ADCBUF2;
        CC1 = ADCBUF3;




}

回复评论 (1)

没有用过,不过,你提的问题是?
现在出问题的现象是?写清楚了才有人回答吧。
点赞  2017-11-7 15:24
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复