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-07     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_ASYNC_DIV4,          \
26        .Init.Resolution            = ADC_RESOLUTION_12B,            \
27        .Init.DataAlign             = ADC_DATAALIGN_RIGHT,           \
28        .Init.ScanConvMode          = ADC_SCAN_DISABLE,              \
29        .Init.EOCSelection          = ADC_EOC_SINGLE_CONV,           \
30        .Init.LowPowerAutoWait      = DISABLE,                       \
31        .Init.ContinuousConvMode    = DISABLE,                       \
32        .Init.NbrOfConversion       = 1,                             \
33        .Init.DiscontinuousConvMode = DISABLE,                       \
34        .Init.NbrOfDiscConversion   = 1,                             \
35        .Init.ExternalTrigConv      = ADC_SOFTWARE_START,            \
36        .Init.DMAContinuousRequests = DISABLE,                       \
37        .Init.Overrun               = ADC_OVR_DATA_OVERWRITTEN,      \
38     }
39 #endif /* ADC1_CONFIG */
40 #endif /* BSP_USING_ADC1 */
41 
42 #ifdef BSP_USING_ADC2
43 #ifndef ADC2_CONFIG
44 #define ADC2_CONFIG                                                 \
45     {                                                               \
46        .Instance                   = ADC2,                          \
47        .Init.ClockPrescaler        = ADC_CLOCK_ASYNC_DIV4,          \
48        .Init.Resolution            = ADC_RESOLUTION_12B,            \
49        .Init.DataAlign             = ADC_DATAALIGN_RIGHT,           \
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.DMAContinuousRequests = DISABLE,                       \
59        .Init.Overrun               = ADC_OVR_DATA_OVERWRITTEN,      \
60     }
61 #endif /* ADC2_CONFIG */
62 #endif /* BSP_USING_ADC2 */
63 
64 #ifdef BSP_USING_ADC3
65 #ifndef ADC3_CONFIG
66 #define ADC3_CONFIG                                                 \
67     {                                                               \
68        .Instance                   = ADC3,                          \
69        .Init.ClockPrescaler        = ADC_CLOCK_ASYNC_DIV4,          \
70        .Init.Resolution            = ADC_RESOLUTION_12B,            \
71        .Init.DataAlign             = ADC_DATAALIGN_RIGHT,           \
72        .Init.ScanConvMode          = ADC_SCAN_DISABLE,              \
73        .Init.EOCSelection          = ADC_EOC_SINGLE_CONV,           \
74        .Init.LowPowerAutoWait      = DISABLE,                       \
75        .Init.ContinuousConvMode    = DISABLE,                       \
76        .Init.NbrOfConversion       = 1,                             \
77        .Init.DiscontinuousConvMode = DISABLE,                       \
78        .Init.NbrOfDiscConversion   = 1,                             \
79        .Init.ExternalTrigConv      = ADC_SOFTWARE_START,            \
80        .Init.DMAContinuousRequests = DISABLE,                       \
81        .Init.Overrun               = ADC_OVR_DATA_OVERWRITTEN,      \
82     }
83 #endif /* ADC3_CONFIG */
84 #endif /* BSP_USING_ADC3 */
85 
86 #ifdef __cplusplus
87 }
88 #endif
89 
90 #endif /* __ADC_CONFIG_H__ */
91