84ab78ef89d99b58204146a7518c7f469418bee5
[mTask.git] / int / com / lib / STM32F7xx_HAL_Driver / Inc / stm32f7xx_hal_dma_ex.h
1 /**
2 ******************************************************************************
3 * @file stm32f7xx_hal_dma_ex.h
4 * @author MCD Application Team
5 * @version V1.1.0
6 * @date 22-April-2016
7 * @brief Header file of DMA HAL extension module.
8 ******************************************************************************
9 * @attention
10 *
11 * <h2><center>&copy; COPYRIGHT(c) 2016 STMicroelectronics</center></h2>
12 *
13 * Redistribution and use in source and binary forms, with or without modification,
14 * are permitted provided that the following conditions are met:
15 * 1. Redistributions of source code must retain the above copyright notice,
16 * this list of conditions and the following disclaimer.
17 * 2. Redistributions in binary form must reproduce the above copyright notice,
18 * this list of conditions and the following disclaimer in the documentation
19 * and/or other materials provided with the distribution.
20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
21 * may be used to endorse or promote products derived from this software
22 * without specific prior written permission.
23 *
24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
34 *
35 ******************************************************************************
36 */
37
38 /* Define to prevent recursive inclusion -------------------------------------*/
39 #ifndef __STM32F7xx_HAL_DMA_EX_H
40 #define __STM32F7xx_HAL_DMA_EX_H
41
42 #ifdef __cplusplus
43 extern "C" {
44 #endif
45
46 /* Includes ------------------------------------------------------------------*/
47 #include "stm32f7xx_hal_def.h"
48
49 /** @addtogroup STM32F7xx_HAL_Driver
50 * @{
51 */
52
53 /** @addtogroup DMAEx
54 * @{
55 */
56
57 /* Exported types ------------------------------------------------------------*/
58 /** @defgroup DMAEx_Exported_Types DMAEx Exported Types
59 * @brief DMAEx Exported types
60 * @{
61 */
62
63 /**
64 * @brief HAL DMA Memory definition
65 */
66 typedef enum
67 {
68 MEMORY0 = 0x00U, /*!< Memory 0 */
69 MEMORY1 = 0x01U, /*!< Memory 1 */
70
71 }HAL_DMA_MemoryTypeDef;
72
73 /**
74 * @}
75 */
76
77 /* Exported constants --------------------------------------------------------*/
78
79 /** @defgroup DMA_Exported_Constants DMA Exported Constants
80 * @brief DMA Exported constants
81 * @{
82 */
83
84 /** @defgroup DMAEx_Channel_selection DMA Channel selection
85 * @brief DMAEx channel selection
86 * @{
87 */
88 #define DMA_CHANNEL_0 ((uint32_t)0x00000000U) /*!< DMA Channel 0 */
89 #define DMA_CHANNEL_1 ((uint32_t)0x02000000U) /*!< DMA Channel 1 */
90 #define DMA_CHANNEL_2 ((uint32_t)0x04000000U) /*!< DMA Channel 2 */
91 #define DMA_CHANNEL_3 ((uint32_t)0x06000000U) /*!< DMA Channel 3 */
92 #define DMA_CHANNEL_4 ((uint32_t)0x08000000U) /*!< DMA Channel 4 */
93 #define DMA_CHANNEL_5 ((uint32_t)0x0A000000U) /*!< DMA Channel 5 */
94 #define DMA_CHANNEL_6 ((uint32_t)0x0C000000U) /*!< DMA Channel 6 */
95 #define DMA_CHANNEL_7 ((uint32_t)0x0E000000U) /*!< DMA Channel 7 */
96 #if defined (STM32F765xx) || defined(STM32F767xx) || defined(STM32F769xx) || defined(STM32F777xx) || defined(STM32F779xx)
97 #define DMA_CHANNEL_8 ((uint32_t)0x10000000U) /*!< DMA Channel 8 */
98 #define DMA_CHANNEL_9 ((uint32_t)0x12000000U) /*!< DMA Channel 9 */
99 #define DMA_CHANNEL_10 ((uint32_t)0x14000000U) /*!< DMA Channel 10*/
100 #define DMA_CHANNEL_11 ((uint32_t)0x16000000U) /*!< DMA Channel 11*/
101 #define DMA_CHANNEL_12 ((uint32_t)0x18000000U) /*!< DMA Channel 12*/
102 #define DMA_CHANNEL_13 ((uint32_t)0x1A000000U) /*!< DMA Channel 13*/
103 #define DMA_CHANNEL_14 ((uint32_t)0x1C000000U) /*!< DMA Channel 14*/
104 #define DMA_CHANNEL_15 ((uint32_t)0x1E000000U) /*!< DMA Channel 15*/
105 #endif /* STM32F765xx || STM32F767xx || STM32F769xx || STM32F777xx || STM32F779xx */
106
107 /**
108 * @}
109 */
110
111 /**
112 * @}
113 */
114
115 /* Exported functions --------------------------------------------------------*/
116 /** @defgroup DMAEx_Exported_Functions DMAEx Exported Functions
117 * @brief DMAEx Exported functions
118 * @{
119 */
120
121 /** @defgroup DMAEx_Exported_Functions_Group1 Extended features functions
122 * @brief Extended features functions
123 * @{
124 */
125
126 /* IO operation functions *******************************************************/
127 HAL_StatusTypeDef HAL_DMAEx_MultiBufferStart(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t SecondMemAddress, uint32_t DataLength);
128 HAL_StatusTypeDef HAL_DMAEx_MultiBufferStart_IT(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t SecondMemAddress, uint32_t DataLength);
129 HAL_StatusTypeDef HAL_DMAEx_ChangeMemory(DMA_HandleTypeDef *hdma, uint32_t Address, HAL_DMA_MemoryTypeDef memory);
130
131 /**
132 * @}
133 */
134 /**
135 * @}
136 */
137
138 /* Private macros ------------------------------------------------------------*/
139 /** @defgroup DMAEx_Private_Macros DMA Private Macros
140 * @brief DMAEx private macros
141 * @{
142 */
143 #if defined (STM32F765xx) || defined(STM32F767xx) || defined(STM32F769xx) || defined(STM32F777xx) || defined(STM32F779xx)
144 #define IS_DMA_CHANNEL(CHANNEL) (((CHANNEL) == DMA_CHANNEL_0) || \
145 ((CHANNEL) == DMA_CHANNEL_1) || \
146 ((CHANNEL) == DMA_CHANNEL_2) || \
147 ((CHANNEL) == DMA_CHANNEL_3) || \
148 ((CHANNEL) == DMA_CHANNEL_4) || \
149 ((CHANNEL) == DMA_CHANNEL_5) || \
150 ((CHANNEL) == DMA_CHANNEL_6) || \
151 ((CHANNEL) == DMA_CHANNEL_7) || \
152 ((CHANNEL) == DMA_CHANNEL_8) || \
153 ((CHANNEL) == DMA_CHANNEL_9) || \
154 ((CHANNEL) == DMA_CHANNEL_10) || \
155 ((CHANNEL) == DMA_CHANNEL_11) || \
156 ((CHANNEL) == DMA_CHANNEL_12) || \
157 ((CHANNEL) == DMA_CHANNEL_13) || \
158 ((CHANNEL) == DMA_CHANNEL_14) || \
159 ((CHANNEL) == DMA_CHANNEL_15))
160 #else
161 #define IS_DMA_CHANNEL(CHANNEL) (((CHANNEL) == DMA_CHANNEL_0) || \
162 ((CHANNEL) == DMA_CHANNEL_1) || \
163 ((CHANNEL) == DMA_CHANNEL_2) || \
164 ((CHANNEL) == DMA_CHANNEL_3) || \
165 ((CHANNEL) == DMA_CHANNEL_4) || \
166 ((CHANNEL) == DMA_CHANNEL_5) || \
167 ((CHANNEL) == DMA_CHANNEL_6) || \
168 ((CHANNEL) == DMA_CHANNEL_7))
169 #endif /* STM32F765xx || STM32F767xx || STM32F769xx || STM32F777xx || STM32F779xx */
170 /**
171 * @}
172 */
173
174 /* Private functions ---------------------------------------------------------*/
175 /** @defgroup DMAEx_Private_Functions DMAEx Private Functions
176 * @brief DMAEx Private functions
177 * @{
178 */
179 /**
180 * @}
181 */
182
183 /**
184 * @}
185 */
186
187 /**
188 * @}
189 */
190
191 #ifdef __cplusplus
192 }
193 #endif
194
195 #endif /* __STM32F7xx_HAL_DMA_H */
196
197 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/