Skip to content

Commit c285cc8

Browse files
committed
Merge pull request #520 from bcostm/dev_analogin
[HAL] NUCLEO_F302R8,F334R8,L053R8 - Increase ADC sampling time.
2 parents dadf009 + 8333923 commit c285cc8

File tree

3 files changed

+6
-6
lines changed

3 files changed

+6
-6
lines changed

libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_F302R8/analogin_api.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ static inline uint16_t adc_read(analogin_t *obj)
104104

105105
// Configure ADC channel
106106
sConfig.Rank = ADC_REGULAR_RANK_1;
107-
sConfig.SamplingTime = ADC_SAMPLETIME_4CYCLES_5;
107+
sConfig.SamplingTime = ADC_SAMPLETIME_19CYCLES_5;
108108
sConfig.SingleDiff = ADC_SINGLE_ENDED;
109109
sConfig.OffsetNumber = ADC_OFFSET_NONE;
110110
sConfig.Offset = 0;

libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_F334R8/analogin_api.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,8 +110,8 @@ static inline uint16_t adc_read(analogin_t *obj)
110110
AdcHandle.Instance = (ADC_TypeDef *)(obj->adc);
111111

112112
// Configure ADC channel
113-
sConfig.Rank = 1;
114-
sConfig.SamplingTime = ADC_SAMPLETIME_4CYCLES_5;
113+
sConfig.Rank = ADC_REGULAR_RANK_1;
114+
sConfig.SamplingTime = ADC_SAMPLETIME_19CYCLES_5;
115115
sConfig.SingleDiff = ADC_SINGLE_ENDED;
116116
sConfig.OffsetNumber = ADC_OFFSET_NONE;
117117
sConfig.Offset = 0;

libraries/mbed/targets/hal/TARGET_STM/TARGET_NUCLEO_L053R8/analogin_api.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,9 +80,9 @@ void analogin_init(analogin_t *obj, PinName pin) {
8080

8181
// Configure ADC
8282
AdcHandle.Init.OversamplingMode = DISABLE;
83-
AdcHandle.Init.ClockPrescaler = ADC_CLOCKPRESCALER_PCLK_DIV2; // ADCCLK = 8 MHz (HSI 16 MHz / 2)
83+
AdcHandle.Init.ClockPrescaler = ADC_CLOCKPRESCALER_PCLK_DIV1;
8484
AdcHandle.Init.Resolution = ADC_RESOLUTION12b;
85-
AdcHandle.Init.SamplingTime = ADC_SAMPLETIME_7CYCLES_5;
85+
AdcHandle.Init.SamplingTime = ADC_SAMPLETIME_41CYCLES_5;
8686
AdcHandle.Init.ScanDirection = ADC_SCAN_DIRECTION_UPWARD;
8787
AdcHandle.Init.DataAlign = ADC_DATAALIGN_RIGHT;
8888
AdcHandle.Init.ContinuousConvMode = DISABLE;
@@ -91,7 +91,7 @@ void analogin_init(analogin_t *obj, PinName pin) {
9191
AdcHandle.Init.ExternalTrigConv = ADC_EXTERNALTRIG0_T6_TRGO; // Not used here
9292
AdcHandle.Init.DMAContinuousRequests = DISABLE;
9393
AdcHandle.Init.EOCSelection = EOC_SINGLE_CONV;
94-
AdcHandle.Init.Overrun = OVR_DATA_PRESERVED;
94+
AdcHandle.Init.Overrun = OVR_DATA_OVERWRITTEN;
9595
AdcHandle.Init.LowPowerAutoWait = ENABLE;
9696
AdcHandle.Init.LowPowerFrequencyMode = DISABLE; // To be enabled only if ADC clock < 2.8 MHz
9797
AdcHandle.Init.LowPowerAutoOff = DISABLE;

0 commit comments

Comments
 (0)