RTEMS
6.1-rc7
Loading...
Searching...
No Matches
bsps
arm
stm32h7
include
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
24
extern
"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
stm32h7xx_hal_def.h
This file contains HAL common defines, enumeration, macros and structures definitions.
Generated by
1.9.6