95 {
96 .circular = true,
99 .error_cb = nullptr,
100 .cfgr = ADC_CFGR_EXTEN_0 | (4 << ADC_CFGR_EXTSEL_Pos),
101 .cfgr2 = (H7_ADC_OVERSAMPLE - 1) << ADC_CFGR2_OVSR_Pos |
103 ADC_CFGR2_ROVSE,
104 .ccr = 0,
105 .pcsel = 0xFFFFFFFF,
106
107 .ltr1 = 0, .htr1 = 0, .ltr2 = 0, .htr2 = 0, .ltr3 = 0, .htr3 = 0,
108 .awd2cr = 0,
109 .awd3cr = 0,
110 .smpr = {
111
112 ADC_SMPR1_SMP_AN0(ADC_SAMPLING_SLOW) |
113 ADC_SMPR1_SMP_AN1(ADC_SAMPLING_SLOW) |
114 ADC_SMPR1_SMP_AN2(ADC_SAMPLING_SLOW) |
115 ADC_SMPR1_SMP_AN3(ADC_SAMPLING_SLOW) |
116 ADC_SMPR1_SMP_AN4(ADC_SAMPLING_SLOW) |
117 ADC_SMPR1_SMP_AN5(ADC_SAMPLING_SLOW) |
118 ADC_SMPR1_SMP_AN6(ADC_SAMPLING_SLOW) |
119 ADC_SMPR1_SMP_AN7(ADC_SAMPLING_SLOW) |
120 ADC_SMPR1_SMP_AN8(ADC_SAMPLING_SLOW) |
121 ADC_SMPR1_SMP_AN9(ADC_SAMPLING_SLOW),
122 ADC_SMPR2_SMP_AN10(ADC_SAMPLING_SLOW) |
123 ADC_SMPR2_SMP_AN11(ADC_SAMPLING_SLOW) |
124 ADC_SMPR2_SMP_AN12(ADC_SAMPLING_SLOW) |
125 ADC_SMPR2_SMP_AN13(ADC_SAMPLING_SLOW) |
126 ADC_SMPR2_SMP_AN14(ADC_SAMPLING_SLOW) |
127 ADC_SMPR2_SMP_AN15(ADC_SAMPLING_SLOW) |
128 ADC_SMPR2_SMP_AN16(ADC_SAMPLING_SLOW) |
129 ADC_SMPR2_SMP_AN17(ADC_SAMPLING_SLOW) |
130 ADC_SMPR2_SMP_AN18(ADC_SAMPLING_SLOW) |
131 ADC_SMPR2_SMP_AN19(ADC_SAMPLING_SLOW)
132 },
133 .sqr = {
134
135
136 ADC_SQR1_SQ1_N(16) |
137 ADC_SQR1_SQ2_N(17) |
138 ADC_SQR1_SQ3_N(14) |
139 ADC_SQR1_SQ4_N(15),
140 ADC_SQR2_SQ5_N(18) |
141 ADC_SQR2_SQ6_N(19) |
142 ADC_SQR2_SQ7_N(3) |
143 ADC_SQR2_SQ8_N(7) |
144 ADC_SQR2_SQ9_N(9),
145 ADC_SQR3_SQ10_N(5) |
146 ADC_SQR3_SQ11_N(10) |
147 ADC_SQR3_SQ12_N(11) |
148 ADC_SQR3_SQ13_N(12) |
149 ADC_SQR3_SQ14_N(13),
150 ADC_SQR4_SQ15_N(4) |
151 ADC_SQR4_SQ16_N(8)
152 },
153};
static void adc_callback(ADCDriver *adcp)
constexpr size_t slowChannelCount