git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@9423 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
Rocco Marco Guglielmi 2016-05-05 17:32:26 +00:00
parent 7226b7240c
commit 3743bc199c
2 changed files with 16 additions and 0 deletions

View File

@ -520,12 +520,20 @@ void adc_lld_init(void) {
/* ADC units pre-initializations.*/ /* ADC units pre-initializations.*/
#if defined(STM32F3XX) #if defined(STM32F3XX)
#if STM32_HAS_ADC1 && STM32_HAS_ADC2
#if STM32_ADC_USE_ADC1 || STM32_ADC_USE_ADC2 #if STM32_ADC_USE_ADC1 || STM32_ADC_USE_ADC2
rccEnableADC12(FALSE); rccEnableADC12(FALSE);
rccResetADC12(); rccResetADC12();
ADC1_2_COMMON->CCR = STM32_ADC_ADC12_CLOCK_MODE | ADC_DMA_MDMA; ADC1_2_COMMON->CCR = STM32_ADC_ADC12_CLOCK_MODE | ADC_DMA_MDMA;
rccDisableADC12(FALSE); rccDisableADC12(FALSE);
#endif #endif
#else
#if STM32_ADC_USE_ADC1
rccEnableADC12(FALSE);
rccResetADC12();
ADC1_COMMON->CCR = STM32_ADC_ADC12_CLOCK_MODE | ADC_DMA_MDMA;
rccDisableADC12(FALSE);
#endif
#if STM32_ADC_USE_ADC3 || STM32_ADC_USE_ADC4 #if STM32_ADC_USE_ADC3 || STM32_ADC_USE_ADC4
rccEnableADC34(FALSE); rccEnableADC34(FALSE);
rccResetADC34(); rccResetADC34();
@ -533,6 +541,7 @@ void adc_lld_init(void) {
rccDisableADC34(FALSE); rccDisableADC34(FALSE);
#endif #endif
#endif #endif
#endif
#if defined(STM32L4XX) #if defined(STM32L4XX)
rccEnableADC123(FALSE); rccEnableADC123(FALSE);
@ -726,13 +735,18 @@ void adc_lld_stop(ADCDriver *adcp) {
#endif #endif
#if defined(STM32F3XX) #if defined(STM32F3XX)
#if STM32_HAS_ADC1 || STM32_HAS_ADC2
if ((clkmask & 0x3) == 0) { if ((clkmask & 0x3) == 0) {
rccDisableADC12(FALSE); rccDisableADC12(FALSE);
} }
#endif
#if STM32_HAS_ADC3 || STM32_HAS_ADC4
if ((clkmask & 0xC) == 0) { if ((clkmask & 0xC) == 0) {
rccDisableADC34(FALSE); rccDisableADC34(FALSE);
} }
#endif #endif
#endif
#if defined(STM32L4XX) #if defined(STM32L4XX)
if ((clkmask & 0x7) == 0) { if ((clkmask & 0x7) == 0) {

View File

@ -414,9 +414,11 @@
#endif #endif
/* ISR arrangments checks.*/ /* ISR arrangments checks.*/
#if STM32_HAS_ADC1 && STM32_HAS_ADC2
#if STM32_ADC1_NUMBER != STM32_ADC2_NUMBER #if STM32_ADC1_NUMBER != STM32_ADC2_NUMBER
#error "ADCv3 driver expects STM32_ADC1_NUMBER == STM32_ADC2_NUMBER from registry" #error "ADCv3 driver expects STM32_ADC1_NUMBER == STM32_ADC2_NUMBER from registry"
#endif #endif
#endif
/* ADC IRQ priority tests.*/ /* ADC IRQ priority tests.*/
#if STM32_ADC_USE_ADC1 && \ #if STM32_ADC_USE_ADC1 && \