diff --git a/os/hal/ports/STM32/LLD/ADCv3/adc_lld.c b/os/hal/ports/STM32/LLD/ADCv3/adc_lld.c index 289b3067d..a83ccb695 100644 --- a/os/hal/ports/STM32/LLD/ADCv3/adc_lld.c +++ b/os/hal/ports/STM32/LLD/ADCv3/adc_lld.c @@ -546,7 +546,14 @@ void adc_lld_init(void) { #if defined(STM32L4XX) rccEnableADC123(FALSE); rccResetADC123(); + +#if defined(ADC1_2_COMMON) + ADC1_2_COMMON->CCR = STM32_ADC_ADC123_CLOCK_MODE | ADC_DMA_MDMA; +#elif defined(ADC123_COMMON) ADC123_COMMON->CCR = STM32_ADC_ADC123_CLOCK_MODE | ADC_DMA_MDMA; +#else + ADC1_COMMON->CCR = STM32_ADC_ADC123_CLOCK_MODE | ADC_DMA_MDMA; +#endif rccDisableADC123(FALSE); #endif } diff --git a/readme.txt b/readme.txt index e43c07dc4..46a055d5f 100644 --- a/readme.txt +++ b/readme.txt @@ -73,6 +73,7 @@ ***************************************************************************** *** 16.1.6 *** +- HAL: Fixed wrong initialization in ADC lld v3 (bug #807). - HAL: Fixed wrong clock init in STM32F0 port ad added more error checks (bug #806). - HAL: Fixed misplaced else in STM32F0 port (bug #805).