diff --git a/os/hal/ports/STM32/LLD/ADCv2/hal_adc_lld.c b/os/hal/ports/STM32/LLD/ADCv2/hal_adc_lld.c index 7c4695522..93534b2e3 100644 --- a/os/hal/ports/STM32/LLD/ADCv2/hal_adc_lld.c +++ b/os/hal/ports/STM32/LLD/ADCv2/hal_adc_lld.c @@ -384,7 +384,8 @@ void adc_lld_stop_conversion(ADCDriver *adcp) { dmaStreamDisable(adcp->dmastp); adcp->adc->CR1 = 0; - adcp->adc->CR2 = 0; + /* Because ticket #822, preserving injected conversions.*/ + adcp->adc->CR2 &= ~(ADC_CR2_SWSTART); adcp->adc->CR2 = ADC_CR2_ADON; } diff --git a/readme.txt b/readme.txt index 7e8bef6a8..fa5e5b1fb 100644 --- a/readme.txt +++ b/readme.txt @@ -275,3 +275,4 @@ to 17.6.1). - VAR: Fixed CMSIS_OS issue in timers (bug #846)(backported to 17.6.1 and 16.1.9). +- HAL: Fixed injected ADC with regular conversion (bug #822).