ADCHardwareOversampleConfigure()
ADCHardwareOversampleConfigure(ADC0_BASE, 64);
소심하게 2 4 8만 했는데 된다!!! 외쳤는데
실은 2^n 승으로 설정되는게 아니라 실제 배수가 설정되는 ㄷㄷ
void ADCHardwareOversampleConfigure(unsigned long ulBase, unsigned long ulFactor) { unsigned long ulValue; // // Check the arguments. // ASSERT((ulBase == ADC0_BASE) || (ulBase == ADC1_BASE)); ASSERT(((ulFactor == 0) || (ulFactor == 2) || (ulFactor == 4) || (ulFactor == 8) || (ulFactor == 16) || (ulFactor == 32) || (ulFactor == 64))); // // Convert the oversampling factor to a shift factor. // for(ulValue = 0, ulFactor >>= 1; ulFactor; ulValue++, ulFactor >>= 1) { } // // Write the shift factor to the ADC to configure the hardware oversampler. // HWREG(ulBase + ADC_O_SAC) = ulValue; } |