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
复制代码
此帖出自
小平头技术问答
一周热门 更多>