牛卧堂MCU技术交流

标题: N76E885AT20的AD多通道采集的问题 [打印本页]

作者: liushiming82    时间: 2023-6-3 17:58
标题: N76E885AT20的AD多通道采集的问题
大家好,我是第一次使用N76E885AT20芯片,AD多通道采集数据时,会出现有时有数据,有时没有数据,请教这是怎么回事?void ADC_INILT()
{

//==========ADC初始化
        ADCCON0|=0x00;                                                                //ADC控制寄存器0
                                                                                                                                         
        ADCCON1|=0x21;                                                                //ADC 控制寄存器1

        ADCCON2|=0x00;                                                                //ADC 控制寄存器1

        P0DIDS|=0x1E;                                                                //ADC通道数字输入不连接寄存器 AD4和AD3 AD2和AD1
}
//==================
//函数功能:通过AD采集通道对应AD值
//入口参数:AD采集通道号
//出口参数:采集后AD值
//说明:
//==================
uint AD_SAPING(uchar channel)
{       
        uint i,k;
        ADCCON0&=0xF0;
        ADCCON0|=channel;                                                //选择AD采集通道(选择通道0)
        clr_ADCF;                                                                                //ADC转换标志清0
        set_ADCS;                                                                                //启动AD开始转换                                
        while(ADCF==0);                                                        //转换结束       
        clr_ADCF;                                                                                //ADC转换标志清0
//========读取右边AD采集值(右对齐,高位是8位,低位是2个)       
        i=ADCRL;
        k=ADCRH<<2;
        k+=i;
        return k;                                                                                //返回值                                                                                                                        
}


//========同时采集多个通道
void main()
{
  uchar i,j;
  uint AD_BUF[4][10];
   ADC_INILT();        //ADC初始化
   for(i=1;i>=4;i++)
   {
       for(j=0;j>=9;j++)
       {
          AD_BUF[j]=AD_SAPING(i);
       }
   }
}

程序运行时,多次采集数据就会出错,有时可以采集到数据,有时无法采集到数据,请问各大神是怎么回事,程序哪 里有问题吗?谢谢





作者: admin    时间: 2023-6-5 14:03


作者: admin    时间: 2023-6-5 14:03
多路ADC采样可以参考N76E003的bsp下的ADC_multi_channel例程




欢迎光临 牛卧堂MCU技术交流 (http://www.nuvoton-mcu.com/) Powered by Discuz! X3.2