STM32F769IDiscovery
1.00
uDANTE Audio Networking with STM32F7 DISCO board
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
Examples
File List
Globals
Eclipse_WS2
STM32F769IDiscovery
HAL_Driver
Inc
stm32f7xx_hal_irda_ex.h
Go to the documentation of this file.
1
38
/* Define to prevent recursive inclusion -------------------------------------*/
39
#ifndef __STM32F7xx_HAL_IRDA_EX_H
40
#define __STM32F7xx_HAL_IRDA_EX_H
41
42
#ifdef __cplusplus
43
extern
"C"
{
44
#endif
45
46
/* Includes ------------------------------------------------------------------*/
47
#include "
stm32f7xx_hal_def.h
"
48
57
/* Exported types ------------------------------------------------------------*/
58
/* Exported constants --------------------------------------------------------*/
66
#define IRDA_WORDLENGTH_7B ((uint32_t)USART_CR1_M_1)
67
#define IRDA_WORDLENGTH_8B ((uint32_t)0x00000000U)
68
#define IRDA_WORDLENGTH_9B ((uint32_t)USART_CR1_M_0)
69
78
/* Exported macro ------------------------------------------------------------*/
79
80
/* Private macros ------------------------------------------------------------*/
81
90
#define IRDA_GETCLOCKSOURCE(__HANDLE__,__CLOCKSOURCE__) \
91
do { \
92
if((__HANDLE__)->Instance == USART1) \
93
{ \
94
switch(__HAL_RCC_GET_USART1_SOURCE()) \
95
{ \
96
case RCC_USART1CLKSOURCE_PCLK2: \
97
(__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PCLK2; \
98
break; \
99
case RCC_USART1CLKSOURCE_HSI: \
100
(__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_HSI; \
101
break; \
102
case RCC_USART1CLKSOURCE_SYSCLK: \
103
(__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_SYSCLK; \
104
break; \
105
case RCC_USART1CLKSOURCE_LSE: \
106
(__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_LSE; \
107
break; \
108
default: \
109
break; \
110
} \
111
} \
112
else if((__HANDLE__)->Instance == USART2) \
113
{ \
114
switch(__HAL_RCC_GET_USART2_SOURCE()) \
115
{ \
116
case RCC_USART2CLKSOURCE_PCLK1: \
117
(__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PCLK1; \
118
break; \
119
case RCC_USART2CLKSOURCE_HSI: \
120
(__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_HSI; \
121
break; \
122
case RCC_USART2CLKSOURCE_SYSCLK: \
123
(__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_SYSCLK; \
124
break; \
125
case RCC_USART2CLKSOURCE_LSE: \
126
(__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_LSE; \
127
break; \
128
default: \
129
break; \
130
} \
131
} \
132
else if((__HANDLE__)->Instance == USART3) \
133
{ \
134
switch(__HAL_RCC_GET_USART3_SOURCE()) \
135
{ \
136
case RCC_USART3CLKSOURCE_PCLK1: \
137
(__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PCLK1; \
138
break; \
139
case RCC_USART3CLKSOURCE_HSI: \
140
(__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_HSI; \
141
break; \
142
case RCC_USART3CLKSOURCE_SYSCLK: \
143
(__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_SYSCLK; \
144
break; \
145
case RCC_USART3CLKSOURCE_LSE: \
146
(__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_LSE; \
147
break; \
148
default: \
149
break; \
150
} \
151
} \
152
else if((__HANDLE__)->Instance == USART6) \
153
{ \
154
switch(__HAL_RCC_GET_USART6_SOURCE()) \
155
{ \
156
case RCC_USART6CLKSOURCE_PCLK2: \
157
(__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_PCLK2; \
158
break; \
159
case RCC_USART6CLKSOURCE_HSI: \
160
(__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_HSI; \
161
break; \
162
case RCC_USART6CLKSOURCE_SYSCLK: \
163
(__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_SYSCLK; \
164
break; \
165
case RCC_USART6CLKSOURCE_LSE: \
166
(__CLOCKSOURCE__) = IRDA_CLOCKSOURCE_LSE; \
167
break; \
168
default: \
169
break; \
170
} \
171
} \
172
} while(0)
173
179
#define IRDA_MASK_COMPUTATION(__HANDLE__) \
180
do { \
181
if ((__HANDLE__)->Init.WordLength == IRDA_WORDLENGTH_9B) \
182
{ \
183
if ((__HANDLE__)->Init.Parity == IRDA_PARITY_NONE) \
184
{ \
185
(__HANDLE__)->Mask = 0x01FF ; \
186
} \
187
else \
188
{ \
189
(__HANDLE__)->Mask = 0x00FF ; \
190
} \
191
} \
192
else if ((__HANDLE__)->Init.WordLength == IRDA_WORDLENGTH_8B) \
193
{ \
194
if ((__HANDLE__)->Init.Parity == IRDA_PARITY_NONE) \
195
{ \
196
(__HANDLE__)->Mask = 0x00FF ; \
197
} \
198
else \
199
{ \
200
(__HANDLE__)->Mask = 0x007F ; \
201
} \
202
} \
203
else if ((__HANDLE__)->Init.WordLength == IRDA_WORDLENGTH_7B) \
204
{ \
205
if ((__HANDLE__)->Init.Parity == IRDA_PARITY_NONE) \
206
{ \
207
(__HANDLE__)->Mask = 0x007F ; \
208
} \
209
else \
210
{ \
211
(__HANDLE__)->Mask = 0x003F ; \
212
} \
213
} \
214
} while(0)
215
216
#define IS_IRDA_WORD_LENGTH(LENGTH) (((LENGTH) == IRDA_WORDLENGTH_7B) || \
217
((LENGTH) == IRDA_WORDLENGTH_8B) || \
218
((LENGTH) == IRDA_WORDLENGTH_9B))
219
223
/* Exported functions --------------------------------------------------------*/
224
233
#ifdef __cplusplus
234
}
235
#endif
236
237
#endif
/* __STM32F7xx_HAL_IRDA_EX_H */
238
239
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
stm32f7xx_hal_def.h
This file contains HAL common defines, enumeration, macros and structures definitions.
Generated by
1.8.11