2812 AD选择级联模式时怎么软件启动AD,是通过AdcRegs.ADCTRL2.bit.SOC_SEQ1=1这个语句吗?我用CpuTimer0定时采样,定时器中断程序
StopCpuTimer0();
AdcRegs.ADCTRL2.bit.RST_SEQ1=1; //复位序列发生器
AdcRegs.ADCTRL2.bit.SOC_SEQ1=1; //进入定时器0一次,启动一次定时器中断
CpuTimer0Regs.TCR.bit.TIF=1; //清除定时器中断标志
CpuTimer0Regs.TCR.bit.TRB=1; //重新装载定时器数值
StartCpuTimer0(); //开定时器定时
PieCtrlRegs.PIEACK.bit.ACK1=1; //允许响应同组其他中断
复制代码
在ADC中断程序里加入了调试程序段,采集256点后程序停止在调试程序段中的while(1)出,index值也为256,证明是进入ADC中断了,可是采样的256点是同样的值是为什么?!输入的为50Hz的0-2.5V的正弦波
调试程序段:
#if 1
if(index>=256)
{
StopCpuTimer0();
while(1);
}
#endif |