新唐MCU技术
直播中

殷谷光

8年用户 1089经验值
擅长:控制/MCU
私信 关注
[问答]

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);
       }
   }
}

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

回帖(1)

云解相

2023-8-30 16:10:47
多路ADC采样可以参考N76E003的bsp下的ADC_multi_channel例程
举报

更多回帖

×
20
完善资料,
赚取积分