在运行程序的时候,改变外部电压内部采样值不会跟着改变,一直都是第一次采样的电压值,只有restart程序之后,采样值会改变,但是也只是开始的那一次采样,请问是什么原因?贴上AD模块的程序。
- AdcRegs.ADCTRL1.bit.SEQ_CASC=1;
- AdcRegs.ADCTRL1.bit.ACQ_PS=1;
- AdcRegs.ADCTRL1.bit.CONT_RUN=1;
- AdcRegs.ADCTRL3.bit.ADCCLKPS=0;
- AdcRegs.ADCTRL3.bit.SMODE_SEL=0;
- AdcRegs.ADCTRL1.bit.SEQ_OVRD=1;
- AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x0;
- AdcRegs.ADCMAXCONV.bit.MAX_CONV1 = 0x1;
- for(i=0;i<Size;i++)
- {
- SampleTable[i]=0;
- }
- AdcRegs.ADCTRL2.all=0x2000;
- for(i=0;i<Size;i++)
- {
- while(AdcRegs.ADCST.bit.INT_SEQ1==0){}
- AdcRegs.ADCST.bit.INT_SEQ1_CLR=1;
- SampleTable[i]=((AdcRegs.ADCRESULT0)>>4);
- AVE=(AVE+SampleTable[i])/2;
-
复制代码
应该不是效率问题,改变电压之后采样值不变
一周热门 更多>