From 628bd6fb442f9f9e0ff21a472077b1ce8cb05085 Mon Sep 17 00:00:00 2001 From: Read Error Date: Sat, 17 Oct 2015 08:35:59 -0400 Subject: [PATCH] F3 ADC fix. --- src/main/drivers/adc_stm32f30x.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/main/drivers/adc_stm32f30x.c b/src/main/drivers/adc_stm32f30x.c index b6b77595e..68f1177b5 100644 --- a/src/main/drivers/adc_stm32f30x.c +++ b/src/main/drivers/adc_stm32f30x.c @@ -91,14 +91,16 @@ void adcInit(drv_adc_config_t *init) #endif #ifdef EXTERNAL1_ADC_GPIO - GPIO_InitStructure.GPIO_Pin = EXTERNAL1_ADC_GPIO_PIN; - GPIO_Init(EXTERNAL1_ADC_GPIO, &GPIO_InitStructure); + if (init->enableExternal1) { + GPIO_InitStructure.GPIO_Pin = EXTERNAL1_ADC_GPIO_PIN; + GPIO_Init(EXTERNAL1_ADC_GPIO, &GPIO_InitStructure); - adcConfig[ADC_EXTERNAL1].adcChannel = EXTERNAL1_ADC_CHANNEL; - adcConfig[ADC_EXTERNAL1].dmaIndex = adcChannelCount; - adcConfig[ADC_EXTERNAL1].sampleTime = ADC_SampleTime_601Cycles5; - adcConfig[ADC_EXTERNAL1].enabled = true; - adcChannelCount++; + adcConfig[ADC_EXTERNAL1].adcChannel = EXTERNAL1_ADC_CHANNEL; + adcConfig[ADC_EXTERNAL1].dmaIndex = adcChannelCount; + adcConfig[ADC_EXTERNAL1].sampleTime = ADC_SampleTime_601Cycles5; + adcConfig[ADC_EXTERNAL1].enabled = true; + adcChannelCount++; + } #endif RCC_ADCCLKConfig(RCC_ADC12PLLCLK_Div256); // 72 MHz divided by 256 = 281.25 kHz