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_12B,            \
27        .Init.DataAlign             = ADC_DATAALIGN_RIGHT,           \
28        .Init.ScanConvMode          = DISABLE,                       \
29        .Init.EOCSelection          = DISABLE,                       \
30        .Init.ContinuousConvMode    = DISABLE,                       \
31        .Init.NbrOfConversion       = 1,                             \
32        .Init.DiscontinuousConvMode = DISABLE,                       \
33        .Init.NbrOfDiscConversion   = 0,                             \
34        .Init.ExternalTrigConv      = ADC_SOFTWARE_START,            \
35        .Init.ExternalTrigConvEdge  = ADC_EXTERNALTRIGCONVEDGE_NONE, \
36        .Init.DMAContinuousRequests = DISABLE,                       \
37     }
38 #endif /* ADC1_CONFIG */
39 #endif /* BSP_USING_ADC1 */
40 
41 #ifdef BSP_USING_ADC2
42 #ifndef ADC2_CONFIG
43 #define ADC2_CONFIG                                                 \
44     {                                                               \
45        .Instance                   = ADC2,                          \
46        .Init.ClockPrescaler        = ADC_CLOCK_SYNC_PCLK_DIV4,      \
47        .Init.Resolution            = ADC_RESOLUTION_12B,            \
48        .Init.DataAlign             = ADC_DATAALIGN_RIGHT,           \
49        .Init.ScanConvMode          = DISABLE,                       \
50        .Init.EOCSelection          = DISABLE,                       \
51        .Init.ContinuousConvMode    = DISABLE,                       \
52        .Init.NbrOfConversion       = 1,                             \
53        .Init.DiscontinuousConvMode = DISABLE,                       \
54        .Init.NbrOfDiscConversion   = 0,                             \
55        .Init.ExternalTrigConv      = ADC_SOFTWARE_START,            \
56        .Init.ExternalTrigConvEdge  = ADC_EXTERNALTRIGCONVEDGE_NONE, \
57        .Init.DMAContinuousRequests = DISABLE,                       \
58     }
59 #endif /* ADC2_CONFIG */
60 #endif /* BSP_USING_ADC2 */
61 
62 #ifdef BSP_USING_ADC3
63 #ifndef ADC3_CONFIG
64 #define ADC3_CONFIG                                                 \
65     {                                                               \
66        .Instance                   = ADC3,                          \
67        .Init.ClockPrescaler        = ADC_CLOCK_SYNC_PCLK_DIV4,      \
68        .Init.Resolution            = ADC_RESOLUTION_12B,            \
69        .Init.DataAlign             = ADC_DATAALIGN_RIGHT,           \
70        .Init.ScanConvMode          = DISABLE,                       \
71        .Init.EOCSelection          = DISABLE,                       \
72        .Init.ContinuousConvMode    = DISABLE,                       \
73        .Init.NbrOfConversion       = 1,                             \
74        .Init.DiscontinuousConvMode = DISABLE,                       \
75        .Init.NbrOfDiscConversion   = 0,                             \
76        .Init.ExternalTrigConv      = ADC_SOFTWARE_START,            \
77        .Init.ExternalTrigConvEdge  = ADC_EXTERNALTRIGCONVEDGE_NONE, \
78        .Init.DMAContinuousRequests = DISABLE,                       \
79     }
80 #endif /* ADC3_CONFIG */
81 #endif /* BSP_USING_ADC3 */
82 
83 #ifdef __cplusplus
84 }
85 #endif
86 
87 #endif /* __ADC_CONFIG_H__ */
88