1 /* 2 * Copyright (c) 2006-2023, RT-Thread Development Team 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 * 6 * Change Logs: 7 * Date Author Notes 8 * 2018-12-06 zylx first version 9 */ 10 11 #ifndef __ADC_CONFIG_H__ 12 #define __ADC_CONFIG_H__ 13 14 #include <rtthread.h> 15 16 #ifdef __cplusplus 17 extern "C" { 18 #endif 19 20 #ifdef BSP_USING_ADC1 21 #ifndef ADC1_CONFIG 22 #define ADC1_CONFIG \ 23 { \ 24 .Instance = ADC1, \ 25 .Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV4, \ 26 .Init.Resolution = ADC_RESOLUTION_16B, \ 27 .Init.ScanConvMode = ADC_SCAN_DISABLE, \ 28 .Init.EOCSelection = ADC_EOC_SINGLE_CONV, \ 29 .Init.LowPowerAutoWait = DISABLE, \ 30 .Init.ContinuousConvMode = DISABLE, \ 31 .Init.NbrOfConversion = 1, \ 32 .Init.DiscontinuousConvMode = DISABLE, \ 33 .Init.NbrOfDiscConversion = 1, \ 34 .Init.ExternalTrigConv = ADC_SOFTWARE_START, \ 35 .Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE, \ 36 .Init.ConversionDataManagement = ADC_CONVERSIONDATA_DR, \ 37 .Init.Overrun = ADC_OVR_DATA_OVERWRITTEN, \ 38 .Init.OversamplingMode = DISABLE, \ 39 } 40 #endif /* ADC1_CONFIG */ 41 #endif /* BSP_USING_ADC1 */ 42 43 #ifdef BSP_USING_ADC2 44 #ifndef ADC2_CONFIG 45 #define ADC2_CONFIG \ 46 { \ 47 .Instance = ADC2, \ 48 .Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV4, \ 49 .Init.Resolution = ADC_RESOLUTION_16B, \ 50 .Init.ScanConvMode = ADC_SCAN_DISABLE, \ 51 .Init.EOCSelection = ADC_EOC_SINGLE_CONV, \ 52 .Init.LowPowerAutoWait = DISABLE, \ 53 .Init.ContinuousConvMode = DISABLE, \ 54 .Init.NbrOfConversion = 1, \ 55 .Init.DiscontinuousConvMode = DISABLE, \ 56 .Init.NbrOfDiscConversion = 1, \ 57 .Init.ExternalTrigConv = ADC_SOFTWARE_START, \ 58 .Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE, \ 59 .Init.ConversionDataManagement = ADC_CONVERSIONDATA_DR, \ 60 .Init.Overrun = ADC_OVR_DATA_OVERWRITTEN, \ 61 .Init.OversamplingMode = DISABLE, \ 62 } 63 #endif /* ADC2_CONFIG */ 64 #endif /* BSP_USING_ADC2 */ 65 66 #ifdef BSP_USING_ADC3 67 #ifndef ADC3_CONFIG 68 #define ADC3_CONFIG \ 69 { \ 70 .Instance = ADC3, \ 71 .Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV4, \ 72 .Init.Resolution = ADC_RESOLUTION_16B, \ 73 .Init.ScanConvMode = ADC_SCAN_DISABLE, \ 74 .Init.EOCSelection = ADC_EOC_SINGLE_CONV, \ 75 .Init.LowPowerAutoWait = DISABLE, \ 76 .Init.ContinuousConvMode = DISABLE, \ 77 .Init.NbrOfConversion = 1, \ 78 .Init.DiscontinuousConvMode = DISABLE, \ 79 .Init.NbrOfDiscConversion = 1, \ 80 .Init.ExternalTrigConv = ADC_SOFTWARE_START, \ 81 .Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE, \ 82 .Init.ConversionDataManagement = ADC_CONVERSIONDATA_DR, \ 83 .Init.Overrun = ADC_OVR_DATA_OVERWRITTEN, \ 84 .Init.OversamplingMode = DISABLE, \ 85 } 86 #endif /* ADC3_CONFIG */ 87 #endif /* BSP_USING_ADC3 */ 88 89 #ifdef __cplusplus 90 } 91 #endif 92 93 #endif /* __ADC_CONFIG_H__ */ 94