From f1b4a4dfff8bf3a7d9c965cc69aa99b2a9ca55fa Mon Sep 17 00:00:00 2001 From: Karl Palsson Date: Wed, 4 Mar 2020 22:02:45 +0000 Subject: [PATCH] stm32f3: adc: consistently use unshifted and tweak teh docs a little --- include/libopencm3/stm32/f3/adc.h | 2 +- lib/stm32/f3/adc.c | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/include/libopencm3/stm32/f3/adc.h b/include/libopencm3/stm32/f3/adc.h index f81793b3..5465cf72 100644 --- a/include/libopencm3/stm32/f3/adc.h +++ b/include/libopencm3/stm32/f3/adc.h @@ -522,7 +522,7 @@ #define ADC_CCR_DUAL_ALTERNATE_TRIG 0x9 /**@}*/ -#define ADC_CCR_DUAL_MASK (0x1f << 0) +#define ADC_CCR_DUAL_MASK (0x1f) #define ADC_CCR_DUAL_SHIFT 0 diff --git a/lib/stm32/f3/adc.c b/lib/stm32/f3/adc.c index 0fba5f5c..9adef94d 100644 --- a/lib/stm32/f3/adc.c +++ b/lib/stm32/f3/adc.c @@ -597,7 +597,7 @@ void adc_set_clk_prescale(uint32_t adc, uint32_t prescale) } /*---------------------------------------------------------------------------*/ -/** @brief ADC Set Dual Mode +/** @brief ADC set multi mode * * The multiple mode can uses these arrangement: * - ADC1 as master and ADC2 as slave @@ -608,12 +608,11 @@ void adc_set_clk_prescale(uint32_t adc, uint32_t prescale) * The various modes possible are described in the reference manual. * * @param adc peripheral of choice @ref adc_reg_base - * @param[in] mode Unsigned int32. Multiple mode selection from @ref - * adc_multi_mode + * @param[in] mode Multiple mode selection from @ref adc_multi_mode */ void adc_set_multi_mode(uint32_t adc, uint32_t mode) { - ADC_CCR(adc) &= ~ADC_CCR_DUAL_MASK; + ADC_CCR(adc) &= ~(ADC_CCR_DUAL_MASK << ADC_CCR_DUAL_SHIFT); ADC_CCR(adc) |= (mode << ADC_CCR_DUAL_SHIFT); }