stm32/adc: Increase sample time for internal sensors on L4 MCUs.
They need time (around 4us for VREFINT) to obtain accurate results. Fixes issue #4022.
This commit is contained in:
parent
3220cedc31
commit
cb3c66e793
@ -304,7 +304,13 @@ STATIC void adc_config_channel(ADC_HandleTypeDef *adc_handle, uint32_t channel)
|
||||
sConfig.OffsetRightShift = DISABLE;
|
||||
sConfig.OffsetSignedSaturation = DISABLE;
|
||||
#elif defined(STM32L4)
|
||||
sConfig.SamplingTime = ADC_SAMPLETIME_12CYCLES_5;
|
||||
if (channel == ADC_CHANNEL_VREFINT
|
||||
|| channel == ADC_CHANNEL_TEMPSENSOR
|
||||
|| channel == ADC_CHANNEL_VBAT) {
|
||||
sConfig.SamplingTime = ADC_SAMPLETIME_247CYCLES_5;
|
||||
} else {
|
||||
sConfig.SamplingTime = ADC_SAMPLETIME_12CYCLES_5;
|
||||
}
|
||||
sConfig.SingleDiff = ADC_SINGLE_ENDED;
|
||||
sConfig.OffsetNumber = ADC_OFFSET_NONE;
|
||||
sConfig.Offset = 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user