From a9ec45714f14609ff64e3a8bbd9c63d274a67604 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Sun, 10 Mar 2013 11:14:47 +0000 Subject: Fixed bug 3607467. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@5402 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/hal/platforms/STM32F4xx/adc_lld.c | 3 ++- readme.txt | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/os/hal/platforms/STM32F4xx/adc_lld.c b/os/hal/platforms/STM32F4xx/adc_lld.c index 94ab4fe2b..12e8e3329 100644 --- a/os/hal/platforms/STM32F4xx/adc_lld.c +++ b/os/hal/platforms/STM32F4xx/adc_lld.c @@ -270,7 +270,8 @@ void adc_lld_start(ADCDriver *adcp) { /* This is a common register but apparently it requires that at least one of the ADCs is clocked in order to allow writing, see bug 3575297.*/ - ADC->CCR = STM32_ADC_ADCPRE << 16; + ADC->CCR = (ADC->CCR & (ADC_CCR_TSVREFE | ADC_CCR_VBATE)) | + (STM32_ADC_ADCPRE << 16); /* ADC initial setup, starting the analog part here in order to reduce the latency when starting a conversion.*/ diff --git a/readme.txt b/readme.txt index f9649a73d..5d838de69 100644 --- a/readme.txt +++ b/readme.txt @@ -88,6 +88,8 @@ *** 2.5.2 *** - FIX: Fixed spurious interrupt disabling an STM32 DMA stream (bug 3607518) (backported to 2.4.4). +- FIX: Fixed start of any ADC disables VREF and VBAT (bug 3607467) + (backported to 2.4.4). - FIX: Fixed surprising non-CRLF lines in source (bug 3607380). - FIX: Fixed no entry point defined at link time (bug 3607319). - FIX: Fixed sdc_lld_collect_errors does not collect errors (bug 3606743). -- cgit v1.2.3