各位大牛好:<br /> 小弟请教一下lm3s615中的采样平均功能怎么用,它可以使AD的精度得到多大提高,我是在使能采样序列0之前,这样ADC_SAC_R|=0x2;设置的,不过加上这句后,就在循环那等着了,fifo满地标志没置,空洞标志也没清除。<br /> SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC); // 使能ADC模块的时钟()<br /> SysCtlADCSpeedSet(SYSCTL_ADCSPEED_500KSPS); <br /> ADCSequenceDisable(ADC_BASE, 0); // 禁能所有采样序列<br /> <br />ADCSequenceConfigure(ADC_BASE, 0,ADC_TRIGGER_ALWAYS,0);<br />ADCSequenceStepConfigure(ADC_BASE, 0, 0, ADC_CTL_CH0 );<br /> ADCSequenceStepConfigure(ADC_BASE, 0, 1, ADC_CTL_CH0 );<br /> ADCSequenceStepConfigure(ADC_BASE, 0, 2, ADC_CTL_CH0 );<br /> ADCSequenceStepConfigure(ADC_BASE, 0, 3, ADC_CTL_CH0 );<br /> ADCSequenceStepConfigure(ADC_BASE, 0, 4, ADC_CTL_CH0 );<br /> ADCSequenceStepConfigure(ADC_BASE, 0, 5, ADC_CTL_CH0 );<br /> ADCSequenceStepConfigure(ADC_BASE, 0, 6, ADC_CTL_CH0 );<br /> ADCSequenceStepConfigure(ADC_BASE, 0, 7, ADC_CTL_CH0|ADC_CTL_END);<br /> ADC_SAC_R|=0x2; ××××××<br /> ADCSequenceEnable(ADC_BASE, 0);<br /><br /> for(i=0;i<8;i++) <br /> {<br /><br /> while((ADC_SSFSTAT0_R&0x1000)==0);<br /> ADC_Value=HWREG(ADC_SSFIFO0_R);<br /><br /> }<br />} |
|