TM STM32F4xx Libraries  v1.0.0
Libraries for STM32F4xx devices from Tilen Majerle
tm_stm32f4_usart_dma.h
1 
30 #ifndef TM_USART_DMA_H
31 #define TM_USART_DMA_H 121
32 
33 /* C++ detection */
34 #ifdef __cplusplus
35 extern C {
36 #endif
37 
108 #include "stm32f4xx.h"
109 #include "stm32f4xx_dma.h"
110 #include "defines.h"
111 #include "tm_stm32f4_dma.h"
112 #include "tm_stm32f4_usart.h"
113 #include "string.h"
114 
115 /* Check USART library version */
116 #if TM_USART_H < 250
117 #error "TM USART library version must be greater or equal to 2.5.0. Please redownload TM USART library!"
118 #endif
119 
126 /* Default DMA Stream and Channel for USART1 */
127 #ifndef USART1_DMA_TX_STREAM
128 #define USART1_DMA_TX_STREAM DMA2_Stream7
129 #define USART1_DMA_TX_CHANNEL DMA_Channel_4
130 #endif
131 
132 /* Default DMA Stream and Channel for USART2 */
133 #ifndef USART2_DMA_TX_STREAM
134 #define USART2_DMA_TX_STREAM DMA1_Stream6
135 #define USART2_DMA_TX_CHANNEL DMA_Channel_4
136 #endif
137 
138 /* Default DMA Stream and Channel for USART3 */
139 #ifndef USART3_DMA_TX_STREAM
140 #define USART3_DMA_TX_STREAM DMA1_Stream3
141 #define USART3_DMA_TX_CHANNEL DMA_Channel_4
142 #endif
143 
144 /* Default DMA Stream and Channel for UART4 */
145 #ifndef UART4_DMA_TX_STREAM
146 #define UART4_DMA_TX_STREAM DMA1_Stream4
147 #define UART4_DMA_TX_CHANNEL DMA_Channel_4
148 #endif
149 
150 /* Default DMA Stream and Channel for UART5 */
151 #ifndef UART5_DMA_TX_STREAM
152 #define UART5_DMA_TX_STREAM DMA1_Stream7
153 #define UART5_DMA_TX_CHANNEL DMA_Channel_4
154 #endif
155 
156 /* Default DMA Stream and Channel for USART6 */
157 #ifndef USART6_DMA_TX_STREAM
158 #define USART6_DMA_TX_STREAM DMA1_Stream6
159 #define USART6_DMA_TX_CHANNEL DMA_Channel_5
160 #endif
161 
162 /* Default DMA Stream and Channel for UART7 */
163 #ifndef UART7_DMA_TX_STREAM
164 #define UART7_DMA_TX_STREAM DMA1_Stream1
165 #define UART7_DMA_TX_CHANNEL DMA_Channel_5
166 #endif
167 
168 /* Default DMA Stream and Channel for UART8 */
169 #ifndef UART8_DMA_TX_STREAM
170 #define UART8_DMA_TX_STREAM DMA1_Stream0
171 #define UART8_DMA_TX_CHANNEL DMA_Channel_5
172 #endif
173 
183 /* Typedefs here */
200 void TM_USART_DMA_Init(USART_TypeDef* USARTx);
201 
212 void TM_USART_DMA_InitWithStreamAndChannel(USART_TypeDef* USARTx, DMA_Stream_TypeDef* DMA_Stream, uint32_t DMA_Channel);
213 
219 void TM_USART_DMA_Deinit(USART_TypeDef* USARTx);
220 
227 void TM_USART_DMA_EnableInterrupts(USART_TypeDef* USARTx);
228 
234 void TM_USART_DMA_DisableInterrupts(USART_TypeDef* USARTx);
235 
241 DMA_Stream_TypeDef* TM_USART_DMA_GetStream(USART_TypeDef* USARTx);
242 
252 uint8_t TM_USART_DMA_Puts(USART_TypeDef* USARTx, char* str);
253 
264 uint8_t TM_USART_DMA_Send(USART_TypeDef* USARTx, uint8_t* DataArray, uint16_t count);
265 
273 uint8_t TM_USART_DMA_Sending(USART_TypeDef* USARTx);
274 
287 /* C++ detection */
288 #ifdef __cplusplus
289 }
290 #endif
291 
292 #endif
void TM_USART_DMA_InitWithStreamAndChannel(USART_TypeDef *USARTx, DMA_Stream_TypeDef *DMA_Stream, uint32_t DMA_Channel)
Initializes USART DMA TX functionality with custom DMA stream and Channel options.
uint8_t TM_USART_DMA_Puts(USART_TypeDef *USARTx, char *str)
Puts string to USART port with DMA.
uint8_t TM_USART_DMA_Send(USART_TypeDef *USARTx, uint8_t *DataArray, uint16_t count)
Sends data over USART with DMA TX functionality.
void TM_USART_DMA_Deinit(USART_TypeDef *USARTx)
Deinitializes USART DMA TX functionality.
DMA_Stream_TypeDef * TM_USART_DMA_GetStream(USART_TypeDef *USARTx)
Gets poitner to DMA stream for desired USART.
void TM_USART_DMA_Init(USART_TypeDef *USARTx)
Initializes USART DMA TX functionality.
void TM_USART_DMA_DisableInterrupts(USART_TypeDef *USARTx)
uint8_t TM_USART_DMA_Sending(USART_TypeDef *USARTx)
Checks if USART DMA TX is still sending data.
void TM_USART_DMA_EnableInterrupts(USART_TypeDef *USARTx)