RTEMS 6.1-rc7
Loading...
Searching...
No Matches
stm32h7xx_hal_irda_ex.h
Go to the documentation of this file.
1
19/* Define to prevent recursive inclusion -------------------------------------*/
20#ifndef STM32H7xx_HAL_IRDA_EX_H
21#define STM32H7xx_HAL_IRDA_EX_H
22
23#ifdef __cplusplus
24extern "C" {
25#endif
26
27/* Includes ------------------------------------------------------------------*/
28#include "stm32h7xx_hal_def.h"
29
40/* Exported types ------------------------------------------------------------*/
41/* Exported constants --------------------------------------------------------*/
51#define IRDA_WORDLENGTH_7B USART_CR1_M1
52#define IRDA_WORDLENGTH_8B 0x00000000U
53#define IRDA_WORDLENGTH_9B USART_CR1_M0
62/* Exported macros -----------------------------------------------------------*/
63
64/* Private macros ------------------------------------------------------------*/
65
76#if defined(UART9) && defined(USART10)
77#define IRDA_GETCLOCKSOURCE(__HANDLE__,__CLOCKSOURCE__) \
78 do { \
79 if((__HANDLE__)->Instance == USART1) \
80 { \
81 switch(__HAL_RCC_GET_USART1_SOURCE()) \
82 { \
83 case RCC_USART1CLKSOURCE_D2PCLK2: \
84 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_D2PCLK2; \
85 break; \
86 case RCC_USART1CLKSOURCE_PLL2: \
87 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL2Q; \
88 break; \
89 case RCC_USART1CLKSOURCE_PLL3: \
90 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL3Q; \
91 break; \
92 case RCC_USART1CLKSOURCE_HSI: \
93 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_HSI; \
94 break; \
95 case RCC_USART1CLKSOURCE_CSI: \
96 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_CSI; \
97 break; \
98 case RCC_USART1CLKSOURCE_LSE: \
99 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_LSE; \
100 break; \
101 default: \
102 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_UNDEFINED; \
103 break; \
104 } \
105 } \
106 else if((__HANDLE__)->Instance == USART2) \
107 { \
108 switch(__HAL_RCC_GET_USART2_SOURCE()) \
109 { \
110 case RCC_USART2CLKSOURCE_D2PCLK1: \
111 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_D2PCLK1; \
112 break; \
113 case RCC_USART2CLKSOURCE_PLL2: \
114 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL2Q; \
115 break; \
116 case RCC_USART2CLKSOURCE_PLL3: \
117 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL3Q; \
118 break; \
119 case RCC_USART2CLKSOURCE_HSI: \
120 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_HSI; \
121 break; \
122 case RCC_USART2CLKSOURCE_CSI: \
123 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_CSI; \
124 break; \
125 case RCC_USART2CLKSOURCE_LSE: \
126 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_LSE; \
127 break; \
128 default: \
129 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_UNDEFINED; \
130 break; \
131 } \
132 } \
133 else if((__HANDLE__)->Instance == USART3) \
134 { \
135 switch(__HAL_RCC_GET_USART3_SOURCE()) \
136 { \
137 case RCC_USART3CLKSOURCE_D2PCLK1: \
138 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_D2PCLK1; \
139 break; \
140 case RCC_USART3CLKSOURCE_PLL2: \
141 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL2Q; \
142 break; \
143 case RCC_USART3CLKSOURCE_PLL3: \
144 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL3Q; \
145 break; \
146 case RCC_USART3CLKSOURCE_HSI: \
147 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_HSI; \
148 break; \
149 case RCC_USART3CLKSOURCE_CSI: \
150 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_CSI; \
151 break; \
152 case RCC_USART3CLKSOURCE_LSE: \
153 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_LSE; \
154 break; \
155 default: \
156 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_UNDEFINED; \
157 break; \
158 } \
159 } \
160 else if((__HANDLE__)->Instance == UART4) \
161 { \
162 switch(__HAL_RCC_GET_UART4_SOURCE()) \
163 { \
164 case RCC_UART4CLKSOURCE_D2PCLK1: \
165 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_D2PCLK1; \
166 break; \
167 case RCC_UART4CLKSOURCE_PLL2: \
168 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL2Q; \
169 break; \
170 case RCC_UART4CLKSOURCE_PLL3: \
171 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL3Q; \
172 break; \
173 case RCC_UART4CLKSOURCE_HSI: \
174 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_HSI; \
175 break; \
176 case RCC_UART4CLKSOURCE_CSI: \
177 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_CSI; \
178 break; \
179 case RCC_UART4CLKSOURCE_LSE: \
180 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_LSE; \
181 break; \
182 default: \
183 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_UNDEFINED; \
184 break; \
185 } \
186 } \
187 else if ((__HANDLE__)->Instance == UART5) \
188 { \
189 switch(__HAL_RCC_GET_UART5_SOURCE()) \
190 { \
191 case RCC_UART5CLKSOURCE_D2PCLK1: \
192 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_D2PCLK1; \
193 break; \
194 case RCC_UART5CLKSOURCE_PLL2: \
195 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL2Q; \
196 break; \
197 case RCC_UART5CLKSOURCE_PLL3: \
198 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL3Q; \
199 break; \
200 case RCC_UART5CLKSOURCE_HSI: \
201 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_HSI; \
202 break; \
203 case RCC_UART5CLKSOURCE_CSI: \
204 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_CSI; \
205 break; \
206 case RCC_UART5CLKSOURCE_LSE: \
207 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_LSE; \
208 break; \
209 default: \
210 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_UNDEFINED; \
211 break; \
212 } \
213 } \
214 else if((__HANDLE__)->Instance == USART6) \
215 { \
216 switch(__HAL_RCC_GET_USART6_SOURCE()) \
217 { \
218 case RCC_USART6CLKSOURCE_D2PCLK2: \
219 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_D2PCLK2; \
220 break; \
221 case RCC_USART6CLKSOURCE_PLL2: \
222 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL2Q; \
223 break; \
224 case RCC_USART6CLKSOURCE_PLL3: \
225 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL3Q; \
226 break; \
227 case RCC_USART6CLKSOURCE_HSI: \
228 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_HSI; \
229 break; \
230 case RCC_USART6CLKSOURCE_CSI: \
231 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_CSI; \
232 break; \
233 case RCC_USART6CLKSOURCE_LSE: \
234 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_LSE; \
235 break; \
236 default: \
237 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_UNDEFINED; \
238 break; \
239 } \
240 } \
241 else if((__HANDLE__)->Instance == UART7) \
242 { \
243 switch(__HAL_RCC_GET_UART7_SOURCE()) \
244 { \
245 case RCC_UART7CLKSOURCE_D2PCLK1: \
246 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_D2PCLK1; \
247 break; \
248 case RCC_UART7CLKSOURCE_PLL2: \
249 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL2Q; \
250 break; \
251 case RCC_UART7CLKSOURCE_PLL3: \
252 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL3Q; \
253 break; \
254 case RCC_UART7CLKSOURCE_HSI: \
255 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_HSI; \
256 break; \
257 case RCC_UART7CLKSOURCE_CSI: \
258 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_CSI; \
259 break; \
260 case RCC_UART7CLKSOURCE_LSE: \
261 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_LSE; \
262 break; \
263 default: \
264 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_UNDEFINED; \
265 break; \
266 } \
267 } \
268 else if((__HANDLE__)->Instance == UART8) \
269 { \
270 switch(__HAL_RCC_GET_UART8_SOURCE()) \
271 { \
272 case RCC_UART8CLKSOURCE_D2PCLK1: \
273 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_D2PCLK1; \
274 break; \
275 case RCC_UART8CLKSOURCE_PLL2: \
276 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL2Q; \
277 break; \
278 case RCC_UART8CLKSOURCE_PLL3: \
279 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL3Q; \
280 break; \
281 case RCC_UART8CLKSOURCE_HSI: \
282 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_HSI; \
283 break; \
284 case RCC_UART8CLKSOURCE_CSI: \
285 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_CSI; \
286 break; \
287 case RCC_UART8CLKSOURCE_LSE: \
288 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_LSE; \
289 break; \
290 default: \
291 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_UNDEFINED; \
292 break; \
293 } \
294 } \
295 else if((__HANDLE__)->Instance == UART9) \
296 { \
297 switch(__HAL_RCC_GET_UART9_SOURCE()) \
298 { \
299 case RCC_UART9CLKSOURCE_D2PCLK2: \
300 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_D2PCLK2; \
301 break; \
302 case RCC_UART9CLKSOURCE_PLL2: \
303 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL2Q; \
304 break; \
305 case RCC_UART9CLKSOURCE_PLL3: \
306 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL3Q; \
307 break; \
308 case RCC_UART9CLKSOURCE_HSI: \
309 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_HSI; \
310 break; \
311 case RCC_UART9CLKSOURCE_CSI: \
312 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_CSI; \
313 break; \
314 case RCC_UART9CLKSOURCE_LSE: \
315 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_LSE; \
316 break; \
317 default: \
318 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_UNDEFINED; \
319 break; \
320 } \
321 } \
322 else if((__HANDLE__)->Instance == USART10) \
323 { \
324 switch(__HAL_RCC_GET_USART10_SOURCE()) \
325 { \
326 case RCC_USART10CLKSOURCE_D2PCLK2: \
327 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_D2PCLK2; \
328 break; \
329 case RCC_USART10CLKSOURCE_PLL2: \
330 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL2Q; \
331 break; \
332 case RCC_USART10CLKSOURCE_PLL3: \
333 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL3Q; \
334 break; \
335 case RCC_USART10CLKSOURCE_HSI: \
336 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_HSI; \
337 break; \
338 case RCC_USART10CLKSOURCE_CSI: \
339 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_CSI; \
340 break; \
341 case RCC_USART10CLKSOURCE_LSE: \
342 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_LSE; \
343 break; \
344 default: \
345 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_UNDEFINED; \
346 break; \
347 } \
348 } \
349 else \
350 { \
351 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_UNDEFINED; \
352 } \
353 } while(0U)
354#else
355#define IRDA_GETCLOCKSOURCE(__HANDLE__,__CLOCKSOURCE__) \
356 do { \
357 if((__HANDLE__)->Instance == USART1) \
358 { \
359 switch(__HAL_RCC_GET_USART1_SOURCE()) \
360 { \
361 case RCC_USART1CLKSOURCE_D2PCLK2: \
362 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_D2PCLK2; \
363 break; \
364 case RCC_USART1CLKSOURCE_PLL2: \
365 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL2Q; \
366 break; \
367 case RCC_USART1CLKSOURCE_PLL3: \
368 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL3Q; \
369 break; \
370 case RCC_USART1CLKSOURCE_HSI: \
371 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_HSI; \
372 break; \
373 case RCC_USART1CLKSOURCE_CSI: \
374 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_CSI; \
375 break; \
376 case RCC_USART1CLKSOURCE_LSE: \
377 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_LSE; \
378 break; \
379 default: \
380 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_UNDEFINED; \
381 break; \
382 } \
383 } \
384 else if((__HANDLE__)->Instance == USART2) \
385 { \
386 switch(__HAL_RCC_GET_USART2_SOURCE()) \
387 { \
388 case RCC_USART2CLKSOURCE_D2PCLK1: \
389 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_D2PCLK1; \
390 break; \
391 case RCC_USART2CLKSOURCE_PLL2: \
392 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL2Q; \
393 break; \
394 case RCC_USART2CLKSOURCE_PLL3: \
395 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL3Q; \
396 break; \
397 case RCC_USART2CLKSOURCE_HSI: \
398 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_HSI; \
399 break; \
400 case RCC_USART2CLKSOURCE_CSI: \
401 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_CSI; \
402 break; \
403 case RCC_USART2CLKSOURCE_LSE: \
404 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_LSE; \
405 break; \
406 default: \
407 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_UNDEFINED; \
408 break; \
409 } \
410 } \
411 else if((__HANDLE__)->Instance == USART3) \
412 { \
413 switch(__HAL_RCC_GET_USART3_SOURCE()) \
414 { \
415 case RCC_USART3CLKSOURCE_D2PCLK1: \
416 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_D2PCLK1; \
417 break; \
418 case RCC_USART3CLKSOURCE_PLL2: \
419 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL2Q; \
420 break; \
421 case RCC_USART3CLKSOURCE_PLL3: \
422 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL3Q; \
423 break; \
424 case RCC_USART3CLKSOURCE_HSI: \
425 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_HSI; \
426 break; \
427 case RCC_USART3CLKSOURCE_CSI: \
428 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_CSI; \
429 break; \
430 case RCC_USART3CLKSOURCE_LSE: \
431 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_LSE; \
432 break; \
433 default: \
434 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_UNDEFINED; \
435 break; \
436 } \
437 } \
438 else if((__HANDLE__)->Instance == UART4) \
439 { \
440 switch(__HAL_RCC_GET_UART4_SOURCE()) \
441 { \
442 case RCC_UART4CLKSOURCE_D2PCLK1: \
443 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_D2PCLK1; \
444 break; \
445 case RCC_UART4CLKSOURCE_PLL2: \
446 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL2Q; \
447 break; \
448 case RCC_UART4CLKSOURCE_PLL3: \
449 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL3Q; \
450 break; \
451 case RCC_UART4CLKSOURCE_HSI: \
452 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_HSI; \
453 break; \
454 case RCC_UART4CLKSOURCE_CSI: \
455 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_CSI; \
456 break; \
457 case RCC_UART4CLKSOURCE_LSE: \
458 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_LSE; \
459 break; \
460 default: \
461 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_UNDEFINED; \
462 break; \
463 } \
464 } \
465 else if ((__HANDLE__)->Instance == UART5) \
466 { \
467 switch(__HAL_RCC_GET_UART5_SOURCE()) \
468 { \
469 case RCC_UART5CLKSOURCE_D2PCLK1: \
470 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_D2PCLK1; \
471 break; \
472 case RCC_UART5CLKSOURCE_PLL2: \
473 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL2Q; \
474 break; \
475 case RCC_UART5CLKSOURCE_PLL3: \
476 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL3Q; \
477 break; \
478 case RCC_UART5CLKSOURCE_HSI: \
479 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_HSI; \
480 break; \
481 case RCC_UART5CLKSOURCE_CSI: \
482 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_CSI; \
483 break; \
484 case RCC_UART5CLKSOURCE_LSE: \
485 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_LSE; \
486 break; \
487 default: \
488 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_UNDEFINED; \
489 break; \
490 } \
491 } \
492 else if((__HANDLE__)->Instance == USART6) \
493 { \
494 switch(__HAL_RCC_GET_USART6_SOURCE()) \
495 { \
496 case RCC_USART6CLKSOURCE_D2PCLK2: \
497 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_D2PCLK2; \
498 break; \
499 case RCC_USART6CLKSOURCE_PLL2: \
500 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL2Q; \
501 break; \
502 case RCC_USART6CLKSOURCE_PLL3: \
503 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL3Q; \
504 break; \
505 case RCC_USART6CLKSOURCE_HSI: \
506 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_HSI; \
507 break; \
508 case RCC_USART6CLKSOURCE_CSI: \
509 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_CSI; \
510 break; \
511 case RCC_USART6CLKSOURCE_LSE: \
512 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_LSE; \
513 break; \
514 default: \
515 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_UNDEFINED; \
516 break; \
517 } \
518 } \
519 else if((__HANDLE__)->Instance == UART7) \
520 { \
521 switch(__HAL_RCC_GET_UART7_SOURCE()) \
522 { \
523 case RCC_UART7CLKSOURCE_D2PCLK1: \
524 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_D2PCLK1; \
525 break; \
526 case RCC_UART7CLKSOURCE_PLL2: \
527 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL2Q; \
528 break; \
529 case RCC_UART7CLKSOURCE_PLL3: \
530 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL3Q; \
531 break; \
532 case RCC_UART7CLKSOURCE_HSI: \
533 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_HSI; \
534 break; \
535 case RCC_UART7CLKSOURCE_CSI: \
536 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_CSI; \
537 break; \
538 case RCC_UART7CLKSOURCE_LSE: \
539 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_LSE; \
540 break; \
541 default: \
542 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_UNDEFINED; \
543 break; \
544 } \
545 } \
546 else if((__HANDLE__)->Instance == UART8) \
547 { \
548 switch(__HAL_RCC_GET_UART8_SOURCE()) \
549 { \
550 case RCC_UART8CLKSOURCE_D2PCLK1: \
551 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_D2PCLK1; \
552 break; \
553 case RCC_UART8CLKSOURCE_PLL2: \
554 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL2Q; \
555 break; \
556 case RCC_UART8CLKSOURCE_PLL3: \
557 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PLL3Q; \
558 break; \
559 case RCC_UART8CLKSOURCE_HSI: \
560 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_HSI; \
561 break; \
562 case RCC_UART8CLKSOURCE_CSI: \
563 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_CSI; \
564 break; \
565 case RCC_UART8CLKSOURCE_LSE: \
566 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_LSE; \
567 break; \
568 default: \
569 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_UNDEFINED; \
570 break; \
571 } \
572 } \
573 else \
574 { \
575 (__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_UNDEFINED; \
576 } \
577 } while(0U)
578#endif /* UART9 && USART10 */
579
585#define IRDA_MASK_COMPUTATION(__HANDLE__) \
586 do { \
587 if ((__HANDLE__)->Init.WordLength == IRDA_WORDLENGTH_9B) \
588 { \
589 if ((__HANDLE__)->Init.Parity == IRDA_PARITY_NONE) \
590 { \
591 (__HANDLE__)->Mask = 0x01FFU ; \
592 } \
593 else \
594 { \
595 (__HANDLE__)->Mask = 0x00FFU ; \
596 } \
597 } \
598 else if ((__HANDLE__)->Init.WordLength == IRDA_WORDLENGTH_8B) \
599 { \
600 if ((__HANDLE__)->Init.Parity == IRDA_PARITY_NONE) \
601 { \
602 (__HANDLE__)->Mask = 0x00FFU ; \
603 } \
604 else \
605 { \
606 (__HANDLE__)->Mask = 0x007FU ; \
607 } \
608 } \
609 else if ((__HANDLE__)->Init.WordLength == IRDA_WORDLENGTH_7B) \
610 { \
611 if ((__HANDLE__)->Init.Parity == IRDA_PARITY_NONE) \
612 { \
613 (__HANDLE__)->Mask = 0x007FU ; \
614 } \
615 else \
616 { \
617 (__HANDLE__)->Mask = 0x003FU ; \
618 } \
619 } \
620 else \
621 { \
622 (__HANDLE__)->Mask = 0x0000U; \
623 } \
624 } while(0U)
625
630#define IS_IRDA_WORD_LENGTH(__LENGTH__) (((__LENGTH__) == IRDA_WORDLENGTH_7B) || \
631 ((__LENGTH__) == IRDA_WORDLENGTH_8B) || \
632 ((__LENGTH__) == IRDA_WORDLENGTH_9B))
637/* Exported functions --------------------------------------------------------*/
638
647#ifdef __cplusplus
648}
649#endif
650
651#endif /* STM32H7xx_HAL_IRDA_EX_H */
652
This file contains HAL common defines, enumeration, macros and structures definitions.