git-svn-id: svn://svn.code.sf.net/p/chibios/svn/branches/stable_16.1.x@9424 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
Rocco Marco Guglielmi 2016-05-05 17:53:25 +00:00
parent 69a55e3819
commit 63c78ddb2a
2 changed files with 17 additions and 1 deletions

View File

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

View File

@ -414,9 +414,11 @@
#endif
/* ISR arrangments checks.*/
#if STM32_HAS_ADC1 && STM32_HAS_ADC2
#if STM32_ADC1_NUMBER != STM32_ADC2_NUMBER
#error "ADCv3 driver expects STM32_ADC1_NUMBER == STM32_ADC2_NUMBER from registry"
#endif
#endif
/* ADC IRQ priority tests.*/
#if STM32_ADC_USE_ADC1 && \
@ -883,6 +885,6 @@ extern "C" {
#endif /* HAL_USE_ADC */
#endif /* _ADC_LLD_H_ */
#endif /* HAL_ADC_LLD_H */
/** @} */