diff options
| author | Damien George | 2018-12-12 12:51:26 +1100 |
|---|---|---|
| committer | Damien George | 2018-12-12 12:51:26 +1100 |
| commit | 6cab8daee0c8ea5d409419781d806daa05c5babe (patch) | |
| tree | 738106e7ebb6bc90fdc42c69aaf6c1642ea71a6b | |
| parent | 0555ada277c5cf84f4dd5dd2dd99b17f101dca78 (diff) | |
stm32/adc: Increase ADC sampling time for internal sources on H7 MCUs.
| -rw-r--r-- | ports/stm32/adc.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/ports/stm32/adc.c b/ports/stm32/adc.c index 35810d4c3..e37e375bc 100644 --- a/ports/stm32/adc.c +++ b/ports/stm32/adc.c @@ -306,7 +306,13 @@ STATIC void adc_config_channel(ADC_HandleTypeDef *adc_handle, uint32_t channel) #elif defined(STM32F4) || defined(STM32F7) sConfig.SamplingTime = ADC_SAMPLETIME_15CYCLES; #elif defined(STM32H7) - sConfig.SamplingTime = ADC_SAMPLETIME_8CYCLES_5; + if (channel == ADC_CHANNEL_VREFINT + || channel == ADC_CHANNEL_TEMPSENSOR + || channel == ADC_CHANNEL_VBAT) { + sConfig.SamplingTime = ADC_SAMPLETIME_387CYCLES_5; + } else { + sConfig.SamplingTime = ADC_SAMPLETIME_8CYCLES_5; + } sConfig.SingleDiff = ADC_SINGLE_ENDED; sConfig.OffsetNumber = ADC_OFFSET_NONE; sConfig.OffsetRightShift = DISABLE; |
