diff --git a/targets/TARGET_STM/TARGET_STM32F2/analogin_device.c b/targets/TARGET_STM/TARGET_STM32F2/analogin_device.c index c014c2f572..b90ad14674 100644 --- a/targets/TARGET_STM/TARGET_STM32F2/analogin_device.c +++ b/targets/TARGET_STM/TARGET_STM32F2/analogin_device.c @@ -107,7 +107,7 @@ uint16_t adc_read(analogin_t *obj) // Configure ADC channel sConfig.Rank = 1; - sConfig.SamplingTime = ADC_SAMPLETIME_15CYCLES; + sConfig.SamplingTime = ADC_SAMPLETIME_56CYCLES; sConfig.Offset = 0; switch (obj->channel) { @@ -161,12 +161,15 @@ uint16_t adc_read(analogin_t *obj) break; case 16: sConfig.Channel = ADC_CHANNEL_TEMPSENSOR; + sConfig.SamplingTime = ADC_SAMPLETIME_480CYCLES; break; case 17: sConfig.Channel = ADC_CHANNEL_VREFINT; + sConfig.SamplingTime = ADC_SAMPLETIME_480CYCLES; break; case 18: sConfig.Channel = ADC_CHANNEL_VBAT; + sConfig.SamplingTime = ADC_SAMPLETIME_480CYCLES; break; default: return 0;