Imt.Base C++ API V4.1.1.0
Loading...
Searching...
No Matches
DMAMUX.h
Go to the documentation of this file.
1// (c) IMT - Information Management Technology AG, CH-9470 Buchs, www.imt.ch.
2
3#ifndef STM32H730_DMAMUX_H
4#define STM32H730_DMAMUX_H
5
8
9namespace imt {
10namespace base {
11namespace hal {
12namespace stm32h730 {
13namespace peripherals {
14
19class DMAMUX {
20public:
21
25 enum class MultiplexerInput {
34 adc1_dma = 9U,
35 adc2_dma = 10U,
36 TIM1_CH1 = 11U,
37 TIM1_CH2 = 12U,
38 TIM1_CH3 = 13U,
39 TIM1_CH4 = 14U,
40 TIM1_UP = 15U,
41 TIM1_TRIG = 16U,
42 TIM1_COM = 17U,
43 TIM2_CH1 = 18U,
44 TIM2_CH2 = 19U,
45 TIM2_CH3 = 20U,
46 TIM2_CH4 = 21U,
47 TIM2_UP = 22U,
48 TIM3_CH1 = 23U,
49 TIM3_CH2 = 24U,
50 TIM3_CH3 = 25U,
51 TIM3_CH4 = 26U,
52 TIM3_UP = 27U,
53 TIM3_TRIG = 28U,
54 TIM4_CH1 = 29U,
55 TIM4_CH2 = 30U,
56 TIM4_CH3 = 31U,
57 TIM4_UP = 32U,
58 i2c1_rx_dma = 33U,
59 i2c1_tx_dma = 34U,
60 i2c2_rx_dma = 35U,
61 i2c2_tx_dma = 36U,
62 spi1_rx_dma = 37U,
63 spi1_tx_dma = 38U,
64 spi2_rx_dma = 39U,
65 spi2_tx_dma = 40U,
66 usart1_rx_dma = 41U,
67 usart1_tx_dma = 42U,
68 usart2_rx_dma = 43U,
69 usart2_tx_dma = 44U,
70 usart3_rx_dma = 45U,
71 usart3_tx_dma = 46U,
72 TIM8_CH1 = 47U,
73 TIM8_CH2 = 48U,
74 TIM8_CH3 = 49U,
75 TIM8_CH4 = 50U,
76 TIM8_UP = 51U,
77 TIM8_TRIG = 52U,
78 TIM8_COM = 53U,
79 TIM5_CH1 = 55U,
80 TIM5_CH2 = 56U,
81 TIM5_CH3 = 57U,
82 TIM5_CH4 = 58U,
83 TIM5_UP = 59U,
84 TIM5_TRIG = 60U,
85 spi3_rx_dma = 61U,
86 spi3_tx_dma = 62U,
87 uart4_rx_dma = 63U,
88 uart4_tx_dma = 64U,
89 uart5_rx_dma = 65U,
90 uart5_tx_dma = 66U,
91 dac_ch1_dma = 67U,
92 dac_ch2_dma = 68U,
93 TIM6_UP = 69U,
94 TIM7_UP = 70U,
95 usart6_rx_dma = 71U,
96 usart6_tx_dma = 72U,
97 i2c3_rx_dma = 73U,
98 i2c3_tx_dma = 74U,
99 dcmi_dma = 75U,
100 cryp_in_dma = 76U,
101 cryp_out_dma = 77U,
102 hash_in_dma = 78U,
103 uart7_rx_dma = 79U,
104 uart7_tx_dma = 80U,
105 uart8_rx_dma = 81U,
106 uart8_tx_dma = 82U,
107 spi4_rx_dma = 83U,
108 spi4_tx_dma = 84U,
109 spi5_rx_dma = 85U,
110 spi5_tx_dma = 86U,
111 sai1a_dma = 87U,
112 sai1b_dma = 88U,
113 swpmi_rx_dma = 91U,
114 swpmi_tx_dma = 92U,
115 spdifrx_dat_dma = 93U,
116 spdifrx_ctrl_dma = 94U,
117 dfsdm1_dma0 = 101U,
118 dfsdm1_dma1 = 102U,
119 dfsdm1_dma2 = 103U,
120 dfsdm1_dma3 = 104U,
121 TIM15_CH1 = 105U,
122 TIM15_UP = 106U,
123 TIM15_TRIG = 107U,
124 TIM15_COM = 108U,
125 TIM16_CH1 = 109U,
126 TIM16_UP = 110U,
127 TIM17_CH1 = 111U,
128 TIM17_UP = 112U,
129 adc3_dma = 115U,
130 uart9_rx_dma = 116U,
131 uart9_tx_dma = 117U,
132 uart10_rx_dma = 118U,
133 uart10_tx_dma = 119U,
134 FMAC_RD = 120U,
135 FMAC_WR = 121U,
136 CORDIC_RD = 122U,
137 CORDIC_WR = 123U,
138 i2c5_rx_dma = 124U,
139 i2c5_tx_dma = 125U,
140 TIM23_CH1 = 126U,
141 TIM23_CH2 = 127U,
142 TIM23_CH3 = 128U,
143 TIM23_CH4 = 129U,
144 TIM23_UP = 130U,
145 TIM23_TRIG = 131U,
146 TIM24_CH1 = 132U,
147 TIM24_CH2 = 133U,
148 TIM24_CH3 = 134U,
149 TIM24_CH4 = 135U,
150 TIM24_UP = 136U,
151 TIM24_TRIG = 137U
152 };
153
157 enum class TriggerInput {
158 dmamux1_evt0 = 0U,
159 dmamux1_evt1 = 1U,
160 dmamux1_evt2 = 2U,
161 lptim1_out = 3U,
162 lptim2_out = 4U,
163 lptim3_out = 5U,
164 extit0 = 6U,
165 TIM12_TRGO = 7U
166 };
167
171 enum class SyncInput {
172 dmamux1_evt0 = 0U,
173 dmamux1_evt1 = 1U,
174 dmamux1_evt2 = 2U,
175 lptim1_out = 3U,
176 lptim2_out = 4U,
177 lptim3_out = 5U,
178 extit0 = 6U,
179 TIM12_TRGO = 7U
180 };
181
189 static bool init(DMAStreamModuleAddress const module, MultiplexerInput const resource);
190
195 static void deInit(DMAStreamModuleAddress const module);
196
197private:
198
202 DMAMUX();
203
207 DMAMUX(const DMAMUX& other);
208
212 DMAMUX& operator=(const DMAMUX& other);
213};
214
215} // namespace peripherals
216} // namespace stm32h730
217} // namespace hal
218} // namespace base
219} // namespace imt
220
221#endif // STM32H730_DMAMUX_H
Direct memory access controller DMA Reference: ST_CortexM7_STM32H730_TRM_Rev4.pdf Chapter 8.
Definition DMAMUX.h:19
MultiplexerInput
Enumeration of all avalibale multiplexer inputs (Table 118 in TRM)
Definition DMAMUX.h:25
static bool init(DMAStreamModuleAddress const module, MultiplexerInput const resource)
Initializes the DMAMUX according to the specified parameters in the DMAMUX_InitStruct.
TriggerInput
Enumeration of all available trigger inputs (Table 119 in TRM)
Definition DMAMUX.h:157
static void deInit(DMAStreamModuleAddress const module)
Deinitializes the DMAMUX.
SyncInput
Enumeration of all synchronization inputs (Table 120 in TRM)
Definition DMAMUX.h:171
DMAStreamModuleAddress
Enumeration of the available DMA stream modules identifiers.
This is a application specific file which is used to configure Imt.Base.Core.Math.