在运行程序的时候,改变外部电压内部采样值不会跟着改变,一直都是第一次采样的电压值,只有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;
-
复制代码
先看看外设的时钟情况
时钟如果使能并配置正常 接下来检测软件触发等配置
有设置连续采样,在初始化Adc模块的时候有使能时钟。但是还是不行啊
一周热门 更多>