STM32L4xx_HAL_Driver  1.14.0
stm32l4xx_hal_dma_ex.h
Go to the documentation of this file.
1 
20 /* Define to prevent recursive inclusion -------------------------------------*/
21 #ifndef STM32L4xx_HAL_DMA_EX_H
22 #define STM32L4xx_HAL_DMA_EX_H
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27 
28 #if defined(DMAMUX1)
29 
30 /* Includes ------------------------------------------------------------------*/
31 #include "stm32l4xx_hal_def.h"
32 
41 /* Exported types ------------------------------------------------------------*/
54 typedef struct
55 {
56  uint32_t SyncSignalID;
59  uint32_t SyncPolarity;
62  FunctionalState SyncEnable;
66  FunctionalState EventEnable;
69  uint32_t RequestNumber;
74 
75 
79 typedef struct
80 {
81  uint32_t SignalID;
84  uint32_t Polarity;
87  uint32_t RequestNumber;
91 
96 /* Exported constants --------------------------------------------------------*/
104 #define HAL_DMAMUX1_SYNC_EXTI0 0U
105 #define HAL_DMAMUX1_SYNC_EXTI1 1U
106 #define HAL_DMAMUX1_SYNC_EXTI2 2U
107 #define HAL_DMAMUX1_SYNC_EXTI3 3U
108 #define HAL_DMAMUX1_SYNC_EXTI4 4U
109 #define HAL_DMAMUX1_SYNC_EXTI5 5U
110 #define HAL_DMAMUX1_SYNC_EXTI6 6U
111 #define HAL_DMAMUX1_SYNC_EXTI7 7U
112 #define HAL_DMAMUX1_SYNC_EXTI8 8U
113 #define HAL_DMAMUX1_SYNC_EXTI9 9U
114 #define HAL_DMAMUX1_SYNC_EXTI10 10U
115 #define HAL_DMAMUX1_SYNC_EXTI11 11U
116 #define HAL_DMAMUX1_SYNC_EXTI12 12U
117 #define HAL_DMAMUX1_SYNC_EXTI13 13U
118 #define HAL_DMAMUX1_SYNC_EXTI14 14U
119 #define HAL_DMAMUX1_SYNC_EXTI15 15U
120 #define HAL_DMAMUX1_SYNC_DMAMUX1_CH0_EVT 16U
121 #define HAL_DMAMUX1_SYNC_DMAMUX1_CH1_EVT 17U
122 #define HAL_DMAMUX1_SYNC_DMAMUX1_CH2_EVT 18U
123 #define HAL_DMAMUX1_SYNC_DMAMUX1_CH3_EVT 19U
124 #define HAL_DMAMUX1_SYNC_LPTIM1_OUT 20U
125 #define HAL_DMAMUX1_SYNC_LPTIM2_OUT 21U
126 #define HAL_DMAMUX1_SYNC_DSI_TE 22U
127 #define HAL_DMAMUX1_SYNC_DSI_EOT 23U
128 #define HAL_DMAMUX1_SYNC_DMA2D_EOT 24U
129 #define HAL_DMAMUX1_SYNC_LDTC_IT 25U
138 #define HAL_DMAMUX_SYNC_NO_EVENT 0U
139 #define HAL_DMAMUX_SYNC_RISING DMAMUX_CxCR_SPOL_0
140 #define HAL_DMAMUX_SYNC_FALLING DMAMUX_CxCR_SPOL_1
141 #define HAL_DMAMUX_SYNC_RISING_FALLING DMAMUX_CxCR_SPOL
151 #define HAL_DMAMUX1_REQ_GEN_EXTI0 0U
152 #define HAL_DMAMUX1_REQ_GEN_EXTI1 1U
153 #define HAL_DMAMUX1_REQ_GEN_EXTI2 2U
154 #define HAL_DMAMUX1_REQ_GEN_EXTI3 3U
155 #define HAL_DMAMUX1_REQ_GEN_EXTI4 4U
156 #define HAL_DMAMUX1_REQ_GEN_EXTI5 5U
157 #define HAL_DMAMUX1_REQ_GEN_EXTI6 6U
158 #define HAL_DMAMUX1_REQ_GEN_EXTI7 7U
159 #define HAL_DMAMUX1_REQ_GEN_EXTI8 8U
160 #define HAL_DMAMUX1_REQ_GEN_EXTI9 9U
161 #define HAL_DMAMUX1_REQ_GEN_EXTI10 10U
162 #define HAL_DMAMUX1_REQ_GEN_EXTI11 11U
163 #define HAL_DMAMUX1_REQ_GEN_EXTI12 12U
164 #define HAL_DMAMUX1_REQ_GEN_EXTI13 13U
165 #define HAL_DMAMUX1_REQ_GEN_EXTI14 14U
166 #define HAL_DMAMUX1_REQ_GEN_EXTI15 15U
167 #define HAL_DMAMUX1_REQ_GEN_DMAMUX1_CH0_EVT 16U
168 #define HAL_DMAMUX1_REQ_GEN_DMAMUX1_CH1_EVT 17U
169 #define HAL_DMAMUX1_REQ_GEN_DMAMUX1_CH2_EVT 18U
170 #define HAL_DMAMUX1_REQ_GEN_DMAMUX1_CH3_EVT 19U
171 #define HAL_DMAMUX1_REQ_GEN_LPTIM1_OUT 20U
172 #define HAL_DMAMUX1_REQ_GEN_LPTIM2_OUT 21U
173 #define HAL_DMAMUX1_REQ_GEN_DSI_TE 22U
174 #define HAL_DMAMUX1_REQ_GEN_DSI_EOT 23U
175 #define HAL_DMAMUX1_REQ_GEN_DMA2D_EOT 24U
176 #define HAL_DMAMUX1_REQ_GEN_LTDC_IT 25U
185 #define HAL_DMAMUX_REQ_GEN_NO_EVENT 0U
186 #define HAL_DMAMUX_REQ_GEN_RISING DMAMUX_RGxCR_GPOL_0
187 #define HAL_DMAMUX_REQ_GEN_FALLING DMAMUX_RGxCR_GPOL_1
188 #define HAL_DMAMUX_REQ_GEN_RISING_FALLING DMAMUX_RGxCR_GPOL
198 /* Exported macro ------------------------------------------------------------*/
199 
200 /* Exported functions --------------------------------------------------------*/
205 /* IO operation functions *****************************************************/
210 /* ------------------------- REQUEST -----------------------------------------*/
212  HAL_DMA_MuxRequestGeneratorConfigTypeDef *pRequestGeneratorConfig);
215 /* -------------------------------------------------------------------------- */
216 
217 /* ------------------------- SYNCHRO -----------------------------------------*/
218 HAL_StatusTypeDef HAL_DMAEx_ConfigMuxSync(DMA_HandleTypeDef *hdma, HAL_DMA_MuxSyncConfigTypeDef *pSyncConfig);
219 /* -------------------------------------------------------------------------- */
220 
222 
232 /* Private macros ------------------------------------------------------------*/
238 #define IS_DMAMUX_SYNC_SIGNAL_ID(SIGNAL_ID) ((SIGNAL_ID) <= HAL_DMAMUX1_SYNC_LDTC_IT)
239 
240 #define IS_DMAMUX_SYNC_REQUEST_NUMBER(REQUEST_NUMBER) (((REQUEST_NUMBER) > 0U) && ((REQUEST_NUMBER) <= 32U))
241 
242 #define IS_DMAMUX_SYNC_POLARITY(POLARITY) (((POLARITY) == HAL_DMAMUX_SYNC_NO_EVENT) || \
243  ((POLARITY) == HAL_DMAMUX_SYNC_RISING) || \
244  ((POLARITY) == HAL_DMAMUX_SYNC_FALLING) || \
245  ((POLARITY) == HAL_DMAMUX_SYNC_RISING_FALLING))
246 
247 #define IS_DMAMUX_SYNC_STATE(SYNC) (((SYNC) == DISABLE) || ((SYNC) == ENABLE))
248 
249 #define IS_DMAMUX_SYNC_EVENT(EVENT) (((EVENT) == DISABLE) || \
250  ((EVENT) == ENABLE))
251 
252 #define IS_DMAMUX_REQUEST_GEN_SIGNAL_ID(SIGNAL_ID) ((SIGNAL_ID) <= HAL_DMAMUX1_REQ_GEN_LTDC_IT)
253 
254 #define IS_DMAMUX_REQUEST_GEN_REQUEST_NUMBER(REQUEST_NUMBER) (((REQUEST_NUMBER) > 0U) && ((REQUEST_NUMBER) <= 32U))
255 
256 #define IS_DMAMUX_REQUEST_GEN_POLARITY(POLARITY) (((POLARITY) == HAL_DMAMUX_REQ_GEN_NO_EVENT) || \
257  ((POLARITY) == HAL_DMAMUX_REQ_GEN_RISING) || \
258  ((POLARITY) == HAL_DMAMUX_REQ_GEN_FALLING) || \
259  ((POLARITY) == HAL_DMAMUX_REQ_GEN_RISING_FALLING))
260 
274 #endif /* DMAMUX1 */
275 
276 #ifdef __cplusplus
277 }
278 #endif
279 
280 #endif /* STM32L4xx_HAL_DMA_H */
281 
282 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
HAL_StatusTypeDef HAL_DMAEx_EnableMuxRequestGenerator(DMA_HandleTypeDef *hdma)
Enable the DMAMUX request generator block used by the given DMA channel (instance).
HAL_StatusTypeDef HAL_DMAEx_ConfigMuxRequestGenerator(DMA_HandleTypeDef *hdma, HAL_DMA_MuxRequestGeneratorConfigTypeDef *pRequestGeneratorConfig)
Configure the DMAMUX request generator block used by the given DMA channel (instance).
DMA handle Structure definition.
HAL_StatusTypeDef HAL_DMAEx_DisableMuxRequestGenerator(DMA_HandleTypeDef *hdma)
Disable the DMAMUX request generator block used by the given DMA channel (instance).
This file contains HAL common defines, enumeration, macros and structures definitions.
void HAL_DMAEx_MUX_IRQHandler(DMA_HandleTypeDef *hdma)
Handles DMAMUX interrupt request.
HAL DMAMUX request generator parameters structure definition.
HAL_StatusTypeDef HAL_DMAEx_ConfigMuxSync(DMA_HandleTypeDef *hdma, HAL_DMA_MuxSyncConfigTypeDef *pSyncConfig)
Configure the DMAMUX synchronization parameters for a given DMA channel (instance).
HAL DMA Synchro definition.