arduino / ArduinoCore-sam

80 stars 107 forks source link

adc_set_resolution bug #129

Open avsteele opened 2 years ago

avsteele commented 2 years ago

in adc.c:

void adc_set_resolution(Adc *p_adc,const enum adc_resolution_t resolution)
{
    p_adc->ADC_MR |= (resolution << 4) & ADC_MR_LOWRES;
}

is incorrect. The RHS always evaluates to 0 since the valid values of enum adc_resolution_t as seen in adc.h are 0 (ADC_12_BITS), or 16 (ADC_10_BITS)