Skip to content

Commit ea2000b

Browse files
committed
stm32/adc: Apply re-read errata for WB55.
Following 17898f8. Signed-off-by: Damien George <damien@micropython.org>
1 parent 9a9e552 commit ea2000b

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

ports/stm32/adc.c

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -464,10 +464,13 @@ static void adc_config_channel(ADC_HandleTypeDef *adc_handle, uint32_t channel)
464464

465465
static uint32_t adc_read_channel(ADC_HandleTypeDef *adcHandle) {
466466
uint32_t value;
467-
#if defined(STM32G4)
468-
// For STM32G4 there is errata 2.7.7, "Wrong ADC result if conversion done late after
469-
// calibration or previous conversion". According to the errata, this can be avoided
470-
// by performing two consecutive ADC conversions and keeping the second result.
467+
#if defined(STM32G4) || defined(STM32WB)
468+
// For STM32G4 errata 2.7.7 / STM32WB errata 2.7.1:
469+
// "Wrong ADC result if conversion done late after calibration or previous conversion"
470+
// states an incorrect reading is returned if more than 1ms has elapsed since the last
471+
// reading or calibration. According to the errata, this can be avoided by performing
472+
// two consecutive ADC conversions and keeping the second result.
473+
// Note: On STM32WB55 @ 64Mhz each ADC read takes ~ 3us.
471474
for (uint8_t i = 0; i < 2; i++)
472475
#endif
473476
{

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy