2812AD 问题

2019-03-26 15:27发布

2812 AD选择级联模式时怎么软件启动AD,是通过AdcRegs.ADCTRL2.bit.SOC_SEQ1=1这个语句吗?我用CpuTimer0定时采样,定时器中断程序

  1. StopCpuTimer0();
  2.         AdcRegs.ADCTRL2.bit.RST_SEQ1=1;                //复位序列发生器
  3.         AdcRegs.ADCTRL2.bit.SOC_SEQ1=1;                        //进入定时器0一次,启动一次定时器中断
  4.         CpuTimer0Regs.TCR.bit.TIF=1;                        //清除定时器中断标志
  5.         CpuTimer0Regs.TCR.bit.TRB=1;                        //重新装载定时器数值
  6.         StartCpuTimer0();                                                //开定时器定时
  7.         PieCtrlRegs.PIEACK.bit.ACK1=1;                        //允许响应同组其他中断
复制代码在ADC中断程序里加入了调试程序段,采集256点后程序停止在调试程序段中的while(1)出,index值也为256,证明是进入ADC中断了,可是采样的256点是同样的值是为什么?!输入的为50Hz的0-2.5V的正弦波

调试程序段:

  1. #if 1
  2.         if(index>=256)
  3.         {
  4.                 StopCpuTimer0();
  5.                 while(1);
  6.         }
  7. #endif
复制代码

此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。