My Project
Loading...
Searching...
No Matches
stm32f3xx_hal_gpio_ex.h
Go to the documentation of this file.
1
19
/* Define to prevent recursive inclusion -------------------------------------*/
20
#ifndef __STM32F3xx_HAL_GPIO_EX_H
21
#define __STM32F3xx_HAL_GPIO_EX_H
22
23
#ifdef __cplusplus
24
extern
"C"
{
25
#endif
26
27
/* Includes ------------------------------------------------------------------*/
28
#include "
stm32f3xx_hal_def.h
"
29
39
/* Exported types ------------------------------------------------------------*/
40
/* Exported constants --------------------------------------------------------*/
49
#if defined (STM32F302xC)
50
/*---------------------------------- STM32F302xC ------------------------------*/
54
#define GPIO_AF0_RTC_50Hz ((uint8_t)0x00U)
/* RTC_50Hz Alternate Function mapping */
55
#define GPIO_AF0_MCO ((uint8_t)0x00U)
/* MCO (MCO1 and MCO2) Alternate Function mapping */
56
#define GPIO_AF0_TAMPER ((uint8_t)0x00U)
/* TAMPER (TAMPER_1 and TAMPER_2) Alternate Function mapping */
57
#define GPIO_AF0_SWJ ((uint8_t)0x00U)
/* SWJ (SWD and JTAG) Alternate Function mapping */
58
#define GPIO_AF0_TRACE ((uint8_t)0x00U)
/* TRACE Alternate Function mapping */
59
63
#define GPIO_AF1_TIM2 ((uint8_t)0x01U)
/* TIM2 Alternate Function mapping */
64
#define GPIO_AF1_TIM15 ((uint8_t)0x01U)
/* TIM15 Alternate Function mapping */
65
#define GPIO_AF1_TIM16 ((uint8_t)0x01U)
/* TIM16 Alternate Function mapping */
66
#define GPIO_AF1_TIM17 ((uint8_t)0x01U)
/* TIM17 Alternate Function mapping */
67
#define GPIO_AF1_EVENTOUT ((uint8_t)0x01U)
/* EVENTOUT Alternate Function mapping */
71
#define GPIO_AF2_TIM1 ((uint8_t)0x02U)
/* TIM1 Alternate Function mapping */
72
#define GPIO_AF2_TIM2 ((uint8_t)0x02U)
/* TIM2 Alternate Function mapping */
73
#define GPIO_AF2_TIM3 ((uint8_t)0x02U)
/* TIM3 Alternate Function mapping */
74
#define GPIO_AF2_TIM4 ((uint8_t)0x02U)
/* TIM4 Alternate Function mapping */
75
#define GPIO_AF2_TIM15 ((uint8_t)0x02U)
/* TIM15 Alternate Function mapping */
76
#define GPIO_AF2_COMP1 ((uint8_t)0x02U)
/* COMP1 Alternate Function mapping */
80
#define GPIO_AF3_TSC ((uint8_t)0x03U)
/* TSC Alternate Function mapping */
81
#define GPIO_AF3_TIM15 ((uint8_t)0x03U)
/* TIM15 Alternate Function mapping */
82
86
#define GPIO_AF4_TIM1 ((uint8_t)0x04U)
/* TIM1 Alternate Function mapping */
87
#define GPIO_AF4_TIM16 ((uint8_t)0x04U)
/* TIM16 Alternate Function mapping */
88
#define GPIO_AF4_TIM17 ((uint8_t)0x04U)
/* TIM17 Alternate Function mapping */
89
#define GPIO_AF4_I2C1 ((uint8_t)0x04U)
/* I2C1 Alternate Function mapping */
90
#define GPIO_AF4_I2C2 ((uint8_t)0x04U)
/* I2C2 Alternate Function mapping */
91
95
#define GPIO_AF5_SPI1 ((uint8_t)0x05U)
/* SPI1/I2S1 Alternate Function mapping */
96
#define GPIO_AF5_SPI2 ((uint8_t)0x05U)
/* SPI2/I2S2 Alternate Function mapping */
97
#define GPIO_AF5_SPI3 ((uint8_t)0x05U)
/* SPI3/I2S3 Alternate Function mapping */
98
#define GPIO_AF5_I2S ((uint8_t)0x05U)
/* I2S Alternate Function mapping */
99
#define GPIO_AF5_I2S2ext ((uint8_t)0x05U)
/* I2S2ext Alternate Function mapping */
100
#define GPIO_AF5_IR ((uint8_t)0x05U)
/* IR Alternate Function mapping */
101
#define GPIO_AF5_UART4 ((uint8_t)0x05U)
/* UART4 Alternate Function mapping */
102
#define GPIO_AF5_UART5 ((uint8_t)0x05U)
/* UART5 Alternate Function mapping */
106
#define GPIO_AF6_SPI2 ((uint8_t)0x06U)
/* SPI2/I2S2 Alternate Function mapping */
107
#define GPIO_AF6_SPI3 ((uint8_t)0x06U)
/* SPI3/I2S3 Alternate Function mapping */
108
#define GPIO_AF6_I2S3ext ((uint8_t)0x06U)
/* I2S3ext Alternate Function mapping */
109
#define GPIO_AF6_TIM1 ((uint8_t)0x06U)
/* TIM1 Alternate Function mapping */
110
#define GPIO_AF6_IR ((uint8_t)0x06U)
/* IR Alternate Function mapping */
111
115
#define GPIO_AF7_USART1 ((uint8_t)0x07U)
/* USART1 Alternate Function mapping */
116
#define GPIO_AF7_USART2 ((uint8_t)0x07U)
/* USART2 Alternate Function mapping */
117
#define GPIO_AF7_USART3 ((uint8_t)0x07U)
/* USART3 Alternate Function mapping */
118
#define GPIO_AF7_COMP6 ((uint8_t)0x07U)
/* COMP6 Alternate Function mapping */
119
#define GPIO_AF7_CAN ((uint8_t)0x07U)
/* CAN Alternate Function mapping */
120
124
#define GPIO_AF8_COMP1 ((uint8_t)0x08U)
/* COMP1 Alternate Function mapping */
125
#define GPIO_AF8_COMP2 ((uint8_t)0x08U)
/* COMP2 Alternate Function mapping */
126
#define GPIO_AF8_COMP4 ((uint8_t)0x08U)
/* COMP4 Alternate Function mapping */
127
#define GPIO_AF8_COMP6 ((uint8_t)0x08U)
/* COMP6 Alternate Function mapping */
128
132
#define GPIO_AF9_CAN ((uint8_t)0x09U)
/* CAN Alternate Function mapping */
133
#define GPIO_AF9_TIM1 ((uint8_t)0x09U)
/* TIM1 Alternate Function mapping */
134
#define GPIO_AF9_TIM15 ((uint8_t)0x09U)
/* TIM15 Alternate Function mapping */
135
139
#define GPIO_AF10_TIM2 ((uint8_t)0xAU)
/* TIM2 Alternate Function mapping */
140
#define GPIO_AF10_TIM3 ((uint8_t)0xAU)
/* TIM3 Alternate Function mapping */
141
#define GPIO_AF10_TIM4 ((uint8_t)0xAU)
/* TIM4 Alternate Function mapping */
142
#define GPIO_AF10_TIM17 ((uint8_t)0xAU)
/* TIM17 Alternate Function mapping */
146
#define GPIO_AF11_TIM1 ((uint8_t)0x0BU)
/* TIM1 Alternate Function mapping */
147
151
#define GPIO_AF12_TIM1 ((uint8_t)0xCU)
/* TIM1 Alternate Function mapping */
152
157
#define GPIO_AF14_USB ((uint8_t)0x0EU)
/* USB Alternate Function mapping */
161
#define GPIO_AF15_EVENTOUT ((uint8_t)0x0FU)
/* EVENTOUT Alternate Function mapping */
162
163
#define IS_GPIO_AF(AF) (((AF) <= (uint8_t)0x0CU) || ((AF) == (uint8_t)0x0EU) || ((AF) == (uint8_t)0x0FU))
164
/*------------------------------------------------------------------------------------------*/
165
#endif
/* STM32F302xC */
166
167
#if defined (STM32F303xC)
168
/*---------------------------------- STM32F303xC ------------------------------*/
172
#define GPIO_AF0_RTC_50Hz ((uint8_t)0x00U)
/* RTC_50Hz Alternate Function mapping */
173
#define GPIO_AF0_MCO ((uint8_t)0x00U)
/* MCO (MCO1 and MCO2) Alternate Function mapping */
174
#define GPIO_AF0_TAMPER ((uint8_t)0x00U)
/* TAMPER (TAMPER_1 and TAMPER_2) Alternate Function mapping */
175
#define GPIO_AF0_SWJ ((uint8_t)0x00U)
/* SWJ (SWD and JTAG) Alternate Function mapping */
176
#define GPIO_AF0_TRACE ((uint8_t)0x00U)
/* TRACE Alternate Function mapping */
177
181
#define GPIO_AF1_TIM2 ((uint8_t)0x01U)
/* TIM2 Alternate Function mapping */
182
#define GPIO_AF1_TIM15 ((uint8_t)0x01U)
/* TIM15 Alternate Function mapping */
183
#define GPIO_AF1_TIM16 ((uint8_t)0x01U)
/* TIM16 Alternate Function mapping */
184
#define GPIO_AF1_TIM17 ((uint8_t)0x01U)
/* TIM17 Alternate Function mapping */
185
#define GPIO_AF1_EVENTOUT ((uint8_t)0x01U)
/* EVENTOUT Alternate Function mapping */
189
#define GPIO_AF2_TIM1 ((uint8_t)0x02U)
/* TIM1 Alternate Function mapping */
190
#define GPIO_AF2_TIM2 ((uint8_t)0x02U)
/* TIM2 Alternate Function mapping */
191
#define GPIO_AF2_TIM3 ((uint8_t)0x02U)
/* TIM3 Alternate Function mapping */
192
#define GPIO_AF2_TIM4 ((uint8_t)0x02U)
/* TIM4 Alternate Function mapping */
193
#define GPIO_AF2_TIM8 ((uint8_t)0x02U)
/* TIM8 Alternate Function mapping */
194
#define GPIO_AF2_TIM15 ((uint8_t)0x02U)
/* TIM15 Alternate Function mapping */
195
#define GPIO_AF2_COMP1 ((uint8_t)0x02U)
/* COMP1 Alternate Function mapping */
199
#define GPIO_AF3_TSC ((uint8_t)0x03U)
/* TSC Alternate Function mapping */
200
#define GPIO_AF3_TIM8 ((uint8_t)0x03U)
/* TIM8 Alternate Function mapping */
201
#define GPIO_AF3_COMP7 ((uint8_t)0x03U)
/* COMP7 Alternate Function mapping */
202
#define GPIO_AF3_TIM15 ((uint8_t)0x03U)
/* TIM15 Alternate Function mapping */
203
207
#define GPIO_AF4_TIM1 ((uint8_t)0x04U)
/* TIM1 Alternate Function mapping */
208
#define GPIO_AF4_TIM8 ((uint8_t)0x04U)
/* TIM8 Alternate Function mapping */
209
#define GPIO_AF4_TIM16 ((uint8_t)0x04U)
/* TIM16 Alternate Function mapping */
210
#define GPIO_AF4_TIM17 ((uint8_t)0x04U)
/* TIM17 Alternate Function mapping */
211
#define GPIO_AF4_I2C1 ((uint8_t)0x04U)
/* I2C1 Alternate Function mapping */
212
#define GPIO_AF4_I2C2 ((uint8_t)0x04U)
/* I2C2 Alternate Function mapping */
213
217
#define GPIO_AF5_SPI1 ((uint8_t)0x05U)
/* SPI1/I2S1 Alternate Function mapping */
218
#define GPIO_AF5_SPI2 ((uint8_t)0x05U)
/* SPI2/I2S2 Alternate Function mapping */
219
#define GPIO_AF5_SPI3 ((uint8_t)0x05U)
/* SPI3/I2S3 Alternate Function mapping */
220
#define GPIO_AF5_I2S ((uint8_t)0x05U)
/* I2S Alternate Function mapping */
221
#define GPIO_AF5_I2S2ext ((uint8_t)0x05U)
/* I2S2ext Alternate Function mapping */
222
#define GPIO_AF5_TIM8 ((uint8_t)0x05U)
/* TIM8 Alternate Function mapping */
223
#define GPIO_AF5_IR ((uint8_t)0x05U)
/* IR Alternate Function mapping */
224
#define GPIO_AF5_UART4 ((uint8_t)0x05U)
/* UART4 Alternate Function mapping */
225
#define GPIO_AF5_UART5 ((uint8_t)0x05U)
/* UART5 Alternate Function mapping */
229
#define GPIO_AF6_SPI2 ((uint8_t)0x06U)
/* SPI2/I2S2 Alternate Function mapping */
230
#define GPIO_AF6_SPI3 ((uint8_t)0x06U)
/* SPI3/I2S3 Alternate Function mapping */
231
#define GPIO_AF6_I2S3ext ((uint8_t)0x06U)
/* I2S3ext Alternate Function mapping */
232
#define GPIO_AF6_TIM1 ((uint8_t)0x06U)
/* TIM1 Alternate Function mapping */
233
#define GPIO_AF6_TIM8 ((uint8_t)0x06U)
/* TIM8 Alternate Function mapping */
234
#define GPIO_AF6_IR ((uint8_t)0x06U)
/* IR Alternate Function mapping */
235
239
#define GPIO_AF7_USART1 ((uint8_t)0x07U)
/* USART1 Alternate Function mapping */
240
#define GPIO_AF7_USART2 ((uint8_t)0x07U)
/* USART2 Alternate Function mapping */
241
#define GPIO_AF7_USART3 ((uint8_t)0x07U)
/* USART3 Alternate Function mapping */
242
#define GPIO_AF7_COMP3 ((uint8_t)0x07U)
/* COMP3 Alternate Function mapping */
243
#define GPIO_AF7_COMP5 ((uint8_t)0x07U)
/* COMP5 Alternate Function mapping */
244
#define GPIO_AF7_COMP6 ((uint8_t)0x07U)
/* COMP6 Alternate Function mapping */
245
#define GPIO_AF7_CAN ((uint8_t)0x07U)
/* CAN Alternate Function mapping */
246
250
#define GPIO_AF8_COMP1 ((uint8_t)0x08U)
/* COMP1 Alternate Function mapping */
251
#define GPIO_AF8_COMP2 ((uint8_t)0x08U)
/* COMP2 Alternate Function mapping */
252
#define GPIO_AF8_COMP3 ((uint8_t)0x08U)
/* COMP3 Alternate Function mapping */
253
#define GPIO_AF8_COMP4 ((uint8_t)0x08U)
/* COMP4 Alternate Function mapping */
254
#define GPIO_AF8_COMP5 ((uint8_t)0x08U)
/* COMP5 Alternate Function mapping */
255
#define GPIO_AF8_COMP6 ((uint8_t)0x08U)
/* COMP6 Alternate Function mapping */
256
260
#define GPIO_AF9_CAN ((uint8_t)0x09U)
/* CAN Alternate Function mapping */
261
#define GPIO_AF9_TIM1 ((uint8_t)0x09U)
/* TIM1 Alternate Function mapping */
262
#define GPIO_AF9_TIM8 ((uint8_t)0x09U)
/* TIM8 Alternate Function mapping */
263
#define GPIO_AF9_TIM15 ((uint8_t)0x09U)
/* TIM15 Alternate Function mapping */
264
268
#define GPIO_AF10_TIM2 ((uint8_t)0xAU)
/* TIM2 Alternate Function mapping */
269
#define GPIO_AF10_TIM3 ((uint8_t)0xAU)
/* TIM3 Alternate Function mapping */
270
#define GPIO_AF10_TIM4 ((uint8_t)0xAU)
/* TIM4 Alternate Function mapping */
271
#define GPIO_AF10_TIM8 ((uint8_t)0xAU)
/* TIM8 Alternate Function mapping */
272
#define GPIO_AF10_TIM17 ((uint8_t)0xAU)
/* TIM17 Alternate Function mapping */
276
#define GPIO_AF11_TIM1 ((uint8_t)0x0BU)
/* TIM1 Alternate Function mapping */
277
#define GPIO_AF11_TIM8 ((uint8_t)0x0BU)
/* TIM8 Alternate Function mapping */
278
282
#define GPIO_AF12_TIM1 ((uint8_t)0xCU)
/* TIM1 Alternate Function mapping */
283
288
#define GPIO_AF14_USB ((uint8_t)0x0EU)
/* USB Alternate Function mapping */
292
#define GPIO_AF15_EVENTOUT ((uint8_t)0x0FU)
/* EVENTOUT Alternate Function mapping */
293
294
#define IS_GPIO_AF(AF) (((AF) <= (uint8_t)0x0CU) || ((AF) == (uint8_t)0x0EU) || ((AF) == (uint8_t)0x0FU))
295
/*------------------------------------------------------------------------------------------*/
296
#endif
/* STM32F303xC */
297
298
#if defined (STM32F303xE)
299
/*---------------------------------- STM32F303xE ------------------------------*/
303
#define GPIO_AF0_RTC_50Hz ((uint8_t)0x00U)
/* RTC_50Hz Alternate Function mapping */
304
#define GPIO_AF0_MCO ((uint8_t)0x00U)
/* MCO (MCO1 and MCO2) Alternate Function mapping */
305
#define GPIO_AF0_TAMPER ((uint8_t)0x00U)
/* TAMPER (TAMPER_1 and TAMPER_2) Alternate Function mapping */
306
#define GPIO_AF0_SWJ ((uint8_t)0x00U)
/* SWJ (SWD and JTAG) Alternate Function mapping */
307
#define GPIO_AF0_TRACE ((uint8_t)0x00U)
/* TRACE Alternate Function mapping */
308
312
#define GPIO_AF1_TIM2 ((uint8_t)0x01U)
/* TIM2 Alternate Function mapping */
313
#define GPIO_AF1_TIM15 ((uint8_t)0x01U)
/* TIM15 Alternate Function mapping */
314
#define GPIO_AF1_TIM16 ((uint8_t)0x01U)
/* TIM16 Alternate Function mapping */
315
#define GPIO_AF1_TIM17 ((uint8_t)0x01U)
/* TIM17 Alternate Function mapping */
316
#define GPIO_AF1_EVENTOUT ((uint8_t)0x01U)
/* EVENTOUT Alternate Function mapping */
317
321
#define GPIO_AF2_TIM1 ((uint8_t)0x02U)
/* TIM1 Alternate Function mapping */
322
#define GPIO_AF2_TIM2 ((uint8_t)0x02U)
/* TIM2 Alternate Function mapping */
323
#define GPIO_AF2_TIM3 ((uint8_t)0x02U)
/* TIM3 Alternate Function mapping */
324
#define GPIO_AF2_TIM4 ((uint8_t)0x02U)
/* TIM4 Alternate Function mapping */
325
#define GPIO_AF2_TIM8 ((uint8_t)0x02U)
/* TIM8 Alternate Function mapping */
326
#define GPIO_AF2_TIM15 ((uint8_t)0x02U)
/* TIM15 Alternate Function mapping */
327
#define GPIO_AF2_COMP1 ((uint8_t)0x02U)
/* COMP1 Alternate Function mapping */
328
#define GPIO_AF2_I2C3 ((uint8_t)0x02U)
/* I2C3 Alternate Function mapping */
329
#define GPIO_AF2_TIM20 ((uint8_t)0x02U)
/* TIM20 Alternate Function mapping */
330
334
#define GPIO_AF3_TSC ((uint8_t)0x03U)
/* TSC Alternate Function mapping */
335
#define GPIO_AF3_TIM8 ((uint8_t)0x03U)
/* TIM8 Alternate Function mapping */
336
#define GPIO_AF3_COMP7 ((uint8_t)0x03U)
/* COMP7 Alternate Function mapping */
337
#define GPIO_AF3_TIM15 ((uint8_t)0x03U)
/* TIM15 Alternate Function mapping */
338
#define GPIO_AF3_I2C3 ((uint8_t)0x03U)
/* I2C3 Alternate Function mapping */
339
#define GPIO_AF3_TIM20 ((uint8_t)0x03U)
/* TIM20 Alternate Function mapping */
340
344
#define GPIO_AF4_TIM1 ((uint8_t)0x04U)
/* TIM1 Alternate Function mapping */
345
#define GPIO_AF4_TIM8 ((uint8_t)0x04U)
/* TIM8 Alternate Function mapping */
346
#define GPIO_AF4_TIM16 ((uint8_t)0x04U)
/* TIM16 Alternate Function mapping */
347
#define GPIO_AF4_TIM17 ((uint8_t)0x04U)
/* TIM17 Alternate Function mapping */
348
#define GPIO_AF4_I2C1 ((uint8_t)0x04U)
/* I2C1 Alternate Function mapping */
349
#define GPIO_AF4_I2C2 ((uint8_t)0x04U)
/* I2C2 Alternate Function mapping */
350
354
#define GPIO_AF5_SPI1 ((uint8_t)0x05U)
/* SPI1 Alternate Function mapping */
355
#define GPIO_AF5_SPI2 ((uint8_t)0x05U)
/* SPI2/I2S2 Alternate Function mapping */
356
#define GPIO_AF5_SPI3 ((uint8_t)0x05U)
/* SPI3/I2S3 Alternate Function mapping */
357
#define GPIO_AF5_I2S ((uint8_t)0x05U)
/* I2S Alternate Function mapping */
358
#define GPIO_AF5_I2S2ext ((uint8_t)0x05U)
/* I2S2ext Alternate Function mapping */
359
#define GPIO_AF5_TIM8 ((uint8_t)0x05U)
/* TIM8 Alternate Function mapping */
360
#define GPIO_AF5_IR ((uint8_t)0x05U)
/* IR Alternate Function mapping */
361
#define GPIO_AF5_UART4 ((uint8_t)0x05U)
/* UART4 Alternate Function mapping */
362
#define GPIO_AF5_UART5 ((uint8_t)0x05U)
/* UART5 Alternate Function mapping */
363
#define GPIO_AF5_SPI4 ((uint8_t)0x05U)
/* SPI4 Alternate Function mapping */
364
368
#define GPIO_AF6_SPI2 ((uint8_t)0x06U)
/* SPI2/I2S2 Alternate Function mapping */
369
#define GPIO_AF6_SPI3 ((uint8_t)0x06U)
/* SPI3/I2S3 Alternate Function mapping */
370
#define GPIO_AF6_I2S3ext ((uint8_t)0x06U)
/* I2S3ext Alternate Function mapping */
371
#define GPIO_AF6_TIM1 ((uint8_t)0x06U)
/* TIM1 Alternate Function mapping */
372
#define GPIO_AF6_TIM8 ((uint8_t)0x06U)
/* TIM8 Alternate Function mapping */
373
#define GPIO_AF6_IR ((uint8_t)0x06U)
/* IR Alternate Function mapping */
374
#define GPIO_AF6_TIM20 ((uint8_t)0x06U)
/* TIM20 Alternate Function mapping */
375
379
#define GPIO_AF7_USART1 ((uint8_t)0x07U)
/* USART1 Alternate Function mapping */
380
#define GPIO_AF7_USART2 ((uint8_t)0x07U)
/* USART2 Alternate Function mapping */
381
#define GPIO_AF7_USART3 ((uint8_t)0x07U)
/* USART3 Alternate Function mapping */
382
#define GPIO_AF7_COMP3 ((uint8_t)0x07U)
/* COMP3 Alternate Function mapping */
383
#define GPIO_AF7_COMP5 ((uint8_t)0x07U)
/* COMP5 Alternate Function mapping */
384
#define GPIO_AF7_COMP6 ((uint8_t)0x07U)
/* COMP6 Alternate Function mapping */
385
#define GPIO_AF7_CAN ((uint8_t)0x07U)
/* CAN Alternate Function mapping */
386
390
#define GPIO_AF8_COMP1 ((uint8_t)0x08U)
/* COMP1 Alternate Function mapping */
391
#define GPIO_AF8_COMP2 ((uint8_t)0x08U)
/* COMP2 Alternate Function mapping */
392
#define GPIO_AF8_COMP3 ((uint8_t)0x08U)
/* COMP3 Alternate Function mapping */
393
#define GPIO_AF8_COMP4 ((uint8_t)0x08U)
/* COMP4 Alternate Function mapping */
394
#define GPIO_AF8_COMP5 ((uint8_t)0x08U)
/* COMP5 Alternate Function mapping */
395
#define GPIO_AF8_COMP6 ((uint8_t)0x08U)
/* COMP6 Alternate Function mapping */
396
#define GPIO_AF8_I2C3 ((uint8_t)0x08U)
/* I2C3 Alternate Function mapping */
397
401
#define GPIO_AF9_CAN ((uint8_t)0x09U)
/* CAN Alternate Function mapping */
402
#define GPIO_AF9_TIM1 ((uint8_t)0x09U)
/* TIM1 Alternate Function mapping */
403
#define GPIO_AF9_TIM8 ((uint8_t)0x09U)
/* TIM8 Alternate Function mapping */
404
#define GPIO_AF9_TIM15 ((uint8_t)0x09U)
/* TIM15 Alternate Function mapping */
405
409
#define GPIO_AF10_TIM2 ((uint8_t)0xAU)
/* TIM2 Alternate Function mapping */
410
#define GPIO_AF10_TIM3 ((uint8_t)0xAU)
/* TIM3 Alternate Function mapping */
411
#define GPIO_AF10_TIM4 ((uint8_t)0xAU)
/* TIM4 Alternate Function mapping */
412
#define GPIO_AF10_TIM8 ((uint8_t)0xAU)
/* TIM8 Alternate Function mapping */
413
#define GPIO_AF10_TIM17 ((uint8_t)0xAU)
/* TIM17 Alternate Function mapping */
417
#define GPIO_AF11_TIM1 ((uint8_t)0x0BU)
/* TIM1 Alternate Function mapping */
418
#define GPIO_AF11_TIM8 ((uint8_t)0x0BU)
/* TIM8 Alternate Function mapping */
419
423
#define GPIO_AF12_TIM1 ((uint8_t)0xCU)
/* TIM1 Alternate Function mapping */
424
#define GPIO_AF12_FMC ((uint8_t)0xCU)
/* FMC Alternate Function mapping */
425
#define GPIO_AF12_SDIO ((uint8_t)0xCU)
/* SDIO Alternate Function mapping */
426
430
#define GPIO_AF14_USB ((uint8_t)0x0EU)
/* USB Alternate Function mapping */
431
435
#define GPIO_AF15_EVENTOUT ((uint8_t)0x0FU)
/* EVENTOUT Alternate Function mapping */
436
437
#define IS_GPIO_AF(AF) (((AF) <= (uint8_t)0x0CU) || ((AF) == (uint8_t)0x0EU) || ((AF) == (uint8_t)0x0FU))
438
/*------------------------------------------------------------------------------------------*/
439
#endif
/* STM32F303xE */
440
441
#if defined (STM32F302xE)
442
/*---------------------------------- STM32F302xE ------------------------------*/
446
#define GPIO_AF0_RTC_50Hz ((uint8_t)0x00U)
/* RTC_50Hz Alternate Function mapping */
447
#define GPIO_AF0_MCO ((uint8_t)0x00U)
/* MCO (MCO1 and MCO2) Alternate Function mapping */
448
#define GPIO_AF0_TAMPER ((uint8_t)0x00U)
/* TAMPER (TAMPER_1 and TAMPER_2) Alternate Function mapping */
449
#define GPIO_AF0_SWJ ((uint8_t)0x00U)
/* SWJ (SWD and JTAG) Alternate Function mapping */
450
#define GPIO_AF0_TRACE ((uint8_t)0x00U)
/* TRACE Alternate Function mapping */
451
455
#define GPIO_AF1_TIM2 ((uint8_t)0x01U)
/* TIM2 Alternate Function mapping */
456
#define GPIO_AF1_TIM15 ((uint8_t)0x01U)
/* TIM15 Alternate Function mapping */
457
#define GPIO_AF1_TIM16 ((uint8_t)0x01U)
/* TIM16 Alternate Function mapping */
458
#define GPIO_AF1_TIM17 ((uint8_t)0x01U)
/* TIM17 Alternate Function mapping */
459
#define GPIO_AF1_EVENTOUT ((uint8_t)0x01U)
/* EVENTOUT Alternate Function mapping */
460
464
#define GPIO_AF2_TIM1 ((uint8_t)0x02U)
/* TIM1 Alternate Function mapping */
465
#define GPIO_AF2_TIM2 ((uint8_t)0x02U)
/* TIM2 Alternate Function mapping */
466
#define GPIO_AF2_TIM3 ((uint8_t)0x02U)
/* TIM3 Alternate Function mapping */
467
#define GPIO_AF2_TIM4 ((uint8_t)0x02U)
/* TIM4 Alternate Function mapping */
468
#define GPIO_AF2_TIM15 ((uint8_t)0x02U)
/* TIM15 Alternate Function mapping */
469
#define GPIO_AF2_COMP1 ((uint8_t)0x02U)
/* COMP1 Alternate Function mapping */
470
#define GPIO_AF2_I2C3 ((uint8_t)0x02U)
/* I2C3 Alternate Function mapping */
471
475
#define GPIO_AF3_TSC ((uint8_t)0x03U)
/* TSC Alternate Function mapping */
476
#define GPIO_AF3_TIM15 ((uint8_t)0x03U)
/* TIM15 Alternate Function mapping */
477
#define GPIO_AF3_I2C3 ((uint8_t)0x03U)
/* I2C3 Alternate Function mapping */
478
482
#define GPIO_AF4_TIM1 ((uint8_t)0x04U)
/* TIM1 Alternate Function mapping */
483
#define GPIO_AF4_TIM16 ((uint8_t)0x04U)
/* TIM16 Alternate Function mapping */
484
#define GPIO_AF4_TIM17 ((uint8_t)0x04U)
/* TIM17 Alternate Function mapping */
485
#define GPIO_AF4_I2C1 ((uint8_t)0x04U)
/* I2C1 Alternate Function mapping */
486
#define GPIO_AF4_I2C2 ((uint8_t)0x04U)
/* I2C2 Alternate Function mapping */
487
491
#define GPIO_AF5_SPI1 ((uint8_t)0x05U)
/* SPI1 Alternate Function mapping */
492
#define GPIO_AF5_SPI2 ((uint8_t)0x05U)
/* SPI2/I2S2 Alternate Function mapping */
493
#define GPIO_AF5_SPI3 ((uint8_t)0x05U)
/* SPI3/I2S3 Alternate Function mapping */
494
#define GPIO_AF5_I2S ((uint8_t)0x05U)
/* I2S Alternate Function mapping */
495
#define GPIO_AF5_I2S2ext ((uint8_t)0x05U)
/* I2S2ext Alternate Function mapping */
496
#define GPIO_AF5_IR ((uint8_t)0x05U)
/* IR Alternate Function mapping */
497
#define GPIO_AF5_UART4 ((uint8_t)0x05U)
/* UART4 Alternate Function mapping */
498
#define GPIO_AF5_UART5 ((uint8_t)0x05U)
/* UART5 Alternate Function mapping */
499
#define GPIO_AF5_SPI4 ((uint8_t)0x05U)
/* SPI4 Alternate Function mapping */
500
504
#define GPIO_AF6_SPI2 ((uint8_t)0x06U)
/* SPI2/I2S2 Alternate Function mapping */
505
#define GPIO_AF6_SPI3 ((uint8_t)0x06U)
/* SPI3/I2S3 Alternate Function mapping */
506
#define GPIO_AF6_I2S3ext ((uint8_t)0x06U)
/* I2S3ext Alternate Function mapping */
507
#define GPIO_AF6_TIM1 ((uint8_t)0x06U)
/* TIM1 Alternate Function mapping */
508
#define GPIO_AF6_IR ((uint8_t)0x06U)
/* IR Alternate Function mapping */
509
513
#define GPIO_AF7_USART1 ((uint8_t)0x07U)
/* USART1 Alternate Function mapping */
514
#define GPIO_AF7_USART2 ((uint8_t)0x07U)
/* USART2 Alternate Function mapping */
515
#define GPIO_AF7_USART3 ((uint8_t)0x07U)
/* USART3 Alternate Function mapping */
516
#define GPIO_AF7_COMP6 ((uint8_t)0x07U)
/* COMP6 Alternate Function mapping */
517
#define GPIO_AF7_CAN ((uint8_t)0x07U)
/* CAN Alternate Function mapping */
518
522
#define GPIO_AF8_COMP1 ((uint8_t)0x08U)
/* COMP1 Alternate Function mapping */
523
#define GPIO_AF8_COMP2 ((uint8_t)0x08U)
/* COMP2 Alternate Function mapping */
524
#define GPIO_AF8_COMP4 ((uint8_t)0x08U)
/* COMP4 Alternate Function mapping */
525
#define GPIO_AF8_COMP6 ((uint8_t)0x08U)
/* COMP6 Alternate Function mapping */
526
#define GPIO_AF8_I2C3 ((uint8_t)0x08U)
/* I2C3 Alternate Function mapping */
527
531
#define GPIO_AF9_CAN ((uint8_t)0x09U)
/* CAN Alternate Function mapping */
532
#define GPIO_AF9_TIM1 ((uint8_t)0x09U)
/* TIM1 Alternate Function mapping */
533
#define GPIO_AF9_TIM15 ((uint8_t)0x09U)
/* TIM15 Alternate Function mapping */
534
538
#define GPIO_AF10_TIM2 ((uint8_t)0xAU)
/* TIM2 Alternate Function mapping */
539
#define GPIO_AF10_TIM3 ((uint8_t)0xAU)
/* TIM3 Alternate Function mapping */
540
#define GPIO_AF10_TIM4 ((uint8_t)0xAU)
/* TIM4 Alternate Function mapping */
541
#define GPIO_AF10_TIM17 ((uint8_t)0xAU)
/* TIM17 Alternate Function mapping */
545
#define GPIO_AF11_TIM1 ((uint8_t)0x0BU)
/* TIM1 Alternate Function mapping */
546
550
#define GPIO_AF12_TIM1 ((uint8_t)0xCU)
/* TIM1 Alternate Function mapping */
551
#define GPIO_AF12_FMC ((uint8_t)0xCU)
/* FMC Alternate Function mapping */
552
#define GPIO_AF12_SDIO ((uint8_t)0xCU)
/* SDIO Alternate Function mapping */
553
557
#define GPIO_AF14_USB ((uint8_t)0x0EU)
/* USB Alternate Function mapping */
558
562
#define GPIO_AF15_EVENTOUT ((uint8_t)0x0FU)
/* EVENTOUT Alternate Function mapping */
563
564
#define IS_GPIO_AF(AF) (((AF) <= (uint8_t)0x0CU) || ((AF) == (uint8_t)0x0EU) || ((AF) == (uint8_t)0x0FU))
565
/*------------------------------------------------------------------------------------------*/
566
#endif
/* STM32F302xE */
567
568
#if defined (STM32F398xx)
569
/*---------------------------------- STM32F398xx ------------------------------*/
573
#define GPIO_AF0_RTC_50Hz ((uint8_t)0x00U)
/* RTC_50Hz Alternate Function mapping */
574
#define GPIO_AF0_MCO ((uint8_t)0x00U)
/* MCO (MCO1 and MCO2) Alternate Function mapping */
575
#define GPIO_AF0_TAMPER ((uint8_t)0x00U)
/* TAMPER (TAMPER_1 and TAMPER_2) Alternate Function mapping */
576
#define GPIO_AF0_SWJ ((uint8_t)0x00U)
/* SWJ (SWD and JTAG) Alternate Function mapping */
577
#define GPIO_AF0_TRACE ((uint8_t)0x00U)
/* TRACE Alternate Function mapping */
578
582
#define GPIO_AF1_TIM2 ((uint8_t)0x01U)
/* TIM2 Alternate Function mapping */
583
#define GPIO_AF1_TIM15 ((uint8_t)0x01U)
/* TIM15 Alternate Function mapping */
584
#define GPIO_AF1_TIM16 ((uint8_t)0x01U)
/* TIM16 Alternate Function mapping */
585
#define GPIO_AF1_TIM17 ((uint8_t)0x01U)
/* TIM17 Alternate Function mapping */
586
#define GPIO_AF1_EVENTOUT ((uint8_t)0x01U)
/* EVENTOUT Alternate Function mapping */
587
591
#define GPIO_AF2_TIM1 ((uint8_t)0x02U)
/* TIM1 Alternate Function mapping */
592
#define GPIO_AF2_TIM2 ((uint8_t)0x02U)
/* TIM2 Alternate Function mapping */
593
#define GPIO_AF2_TIM3 ((uint8_t)0x02U)
/* TIM3 Alternate Function mapping */
594
#define GPIO_AF2_TIM4 ((uint8_t)0x02U)
/* TIM4 Alternate Function mapping */
595
#define GPIO_AF2_TIM8 ((uint8_t)0x02U)
/* TIM8 Alternate Function mapping */
596
#define GPIO_AF2_TIM15 ((uint8_t)0x02U)
/* TIM15 Alternate Function mapping */
597
#define GPIO_AF2_COMP1 ((uint8_t)0x02U)
/* COMP1 Alternate Function mapping */
598
#define GPIO_AF2_I2C3 ((uint8_t)0x02U)
/* I2C3 Alternate Function mapping */
599
#define GPIO_AF2_TIM20 ((uint8_t)0x02U)
/* TIM20 Alternate Function mapping */
600
604
#define GPIO_AF3_TSC ((uint8_t)0x03U)
/* TSC Alternate Function mapping */
605
#define GPIO_AF3_TIM8 ((uint8_t)0x03U)
/* TIM8 Alternate Function mapping */
606
#define GPIO_AF3_COMP7 ((uint8_t)0x03U)
/* COMP7 Alternate Function mapping */
607
#define GPIO_AF3_TIM15 ((uint8_t)0x03U)
/* TIM15 Alternate Function mapping */
608
#define GPIO_AF3_I2C3 ((uint8_t)0x03U)
/* I2C3 Alternate Function mapping */
609
#define GPIO_AF3_TIM20 ((uint8_t)0x03U)
/* TIM20 Alternate Function mapping */
610
614
#define GPIO_AF4_TIM1 ((uint8_t)0x04U)
/* TIM1 Alternate Function mapping */
615
#define GPIO_AF4_TIM8 ((uint8_t)0x04U)
/* TIM8 Alternate Function mapping */
616
#define GPIO_AF4_TIM16 ((uint8_t)0x04U)
/* TIM16 Alternate Function mapping */
617
#define GPIO_AF4_TIM17 ((uint8_t)0x04U)
/* TIM17 Alternate Function mapping */
618
#define GPIO_AF4_I2C1 ((uint8_t)0x04U)
/* I2C1 Alternate Function mapping */
619
#define GPIO_AF4_I2C2 ((uint8_t)0x04U)
/* I2C2 Alternate Function mapping */
620
624
#define GPIO_AF5_SPI1 ((uint8_t)0x05U)
/* SPI1 Alternate Function mapping */
625
#define GPIO_AF5_SPI2 ((uint8_t)0x05U)
/* SPI2/I2S2 Alternate Function mapping */
626
#define GPIO_AF5_SPI3 ((uint8_t)0x05U)
/* SPI3/I2S3 Alternate Function mapping */
627
#define GPIO_AF5_I2S ((uint8_t)0x05U)
/* I2S Alternate Function mapping */
628
#define GPIO_AF5_I2S2ext ((uint8_t)0x05U)
/* I2S2ext Alternate Function mapping */
629
#define GPIO_AF5_TIM8 ((uint8_t)0x05U)
/* TIM8 Alternate Function mapping */
630
#define GPIO_AF5_IR ((uint8_t)0x05U)
/* IR Alternate Function mapping */
631
#define GPIO_AF5_UART4 ((uint8_t)0x05U)
/* UART4 Alternate Function mapping */
632
#define GPIO_AF5_UART5 ((uint8_t)0x05U)
/* UART5 Alternate Function mapping */
633
#define GPIO_AF5_SPI4 ((uint8_t)0x05U)
/* SPI4 Alternate Function mapping */
634
638
#define GPIO_AF6_SPI2 ((uint8_t)0x06U)
/* SPI2/I2S2 Alternate Function mapping */
639
#define GPIO_AF6_SPI3 ((uint8_t)0x06U)
/* SPI3/I2S3 Alternate Function mapping */
640
#define GPIO_AF6_I2S3ext ((uint8_t)0x06U)
/* I2S3ext Alternate Function mapping */
641
#define GPIO_AF6_TIM1 ((uint8_t)0x06U)
/* TIM1 Alternate Function mapping */
642
#define GPIO_AF6_TIM8 ((uint8_t)0x06U)
/* TIM8 Alternate Function mapping */
643
#define GPIO_AF6_IR ((uint8_t)0x06U)
/* IR Alternate Function mapping */
644
#define GPIO_AF6_TIM20 ((uint8_t)0x06U)
/* TIM20 Alternate Function mapping */
645
649
#define GPIO_AF7_USART1 ((uint8_t)0x07U)
/* USART1 Alternate Function mapping */
650
#define GPIO_AF7_USART2 ((uint8_t)0x07U)
/* USART2 Alternate Function mapping */
651
#define GPIO_AF7_USART3 ((uint8_t)0x07U)
/* USART3 Alternate Function mapping */
652
#define GPIO_AF7_COMP3 ((uint8_t)0x07U)
/* COMP3 Alternate Function mapping */
653
#define GPIO_AF7_COMP5 ((uint8_t)0x07U)
/* COMP5 Alternate Function mapping */
654
#define GPIO_AF7_COMP6 ((uint8_t)0x07U)
/* COMP6 Alternate Function mapping */
655
#define GPIO_AF7_CAN ((uint8_t)0x07U)
/* CAN Alternate Function mapping */
656
660
#define GPIO_AF8_COMP1 ((uint8_t)0x08U)
/* COMP1 Alternate Function mapping */
661
#define GPIO_AF8_COMP2 ((uint8_t)0x08U)
/* COMP2 Alternate Function mapping */
662
#define GPIO_AF8_COMP3 ((uint8_t)0x08U)
/* COMP3 Alternate Function mapping */
663
#define GPIO_AF8_COMP4 ((uint8_t)0x08U)
/* COMP4 Alternate Function mapping */
664
#define GPIO_AF8_COMP5 ((uint8_t)0x08U)
/* COMP5 Alternate Function mapping */
665
#define GPIO_AF8_COMP6 ((uint8_t)0x08U)
/* COMP6 Alternate Function mapping */
666
#define GPIO_AF8_I2C3 ((uint8_t)0x08U)
/* I2C3 Alternate Function mapping */
667
671
#define GPIO_AF9_CAN ((uint8_t)0x09U)
/* CAN Alternate Function mapping */
672
#define GPIO_AF9_TIM1 ((uint8_t)0x09U)
/* TIM1 Alternate Function mapping */
673
#define GPIO_AF9_TIM8 ((uint8_t)0x09U)
/* TIM8 Alternate Function mapping */
674
#define GPIO_AF9_TIM15 ((uint8_t)0x09U)
/* TIM15 Alternate Function mapping */
675
679
#define GPIO_AF10_TIM2 ((uint8_t)0xAU)
/* TIM2 Alternate Function mapping */
680
#define GPIO_AF10_TIM3 ((uint8_t)0xAU)
/* TIM3 Alternate Function mapping */
681
#define GPIO_AF10_TIM4 ((uint8_t)0xAU)
/* TIM4 Alternate Function mapping */
682
#define GPIO_AF10_TIM8 ((uint8_t)0xAU)
/* TIM8 Alternate Function mapping */
683
#define GPIO_AF10_TIM17 ((uint8_t)0xAU)
/* TIM17 Alternate Function mapping */
687
#define GPIO_AF11_TIM1 ((uint8_t)0x0BU)
/* TIM1 Alternate Function mapping */
688
#define GPIO_AF11_TIM8 ((uint8_t)0x0BU)
/* TIM8 Alternate Function mapping */
689
693
#define GPIO_AF12_TIM1 ((uint8_t)0xCU)
/* TIM1 Alternate Function mapping */
694
#define GPIO_AF12_FMC ((uint8_t)0xCU)
/* FMC Alternate Function mapping */
695
#define GPIO_AF12_SDIO ((uint8_t)0xCU)
/* SDIO Alternate Function mapping */
696
700
#define GPIO_AF15_EVENTOUT ((uint8_t)0x0FU)
/* EVENTOUT Alternate Function mapping */
701
702
#define IS_GPIO_AF(AF) (((AF) <= (uint8_t)0x0CU) || ((AF) == (uint8_t)0x0FU))
703
/*------------------------------------------------------------------------------------------*/
704
#endif
/* STM32F398xx */
705
706
#if defined (STM32F358xx)
707
/*---------------------------------- STM32F358xx -------------------------------------------*/
711
#define GPIO_AF0_RTC_50Hz ((uint8_t)0x00U)
/* RTC_50Hz Alternate Function mapping */
712
#define GPIO_AF0_MCO ((uint8_t)0x00U)
/* MCO (MCO1 and MCO2) Alternate Function mapping */
713
#define GPIO_AF0_TAMPER ((uint8_t)0x00U)
/* TAMPER (TAMPER_1 and TAMPER_2) Alternate Function mapping */
714
#define GPIO_AF0_SWJ ((uint8_t)0x00U)
/* SWJ (SWD and JTAG) Alternate Function mapping */
715
#define GPIO_AF0_TRACE ((uint8_t)0x00U)
/* TRACE Alternate Function mapping */
716
720
#define GPIO_AF1_TIM2 ((uint8_t)0x01U)
/* TIM2 Alternate Function mapping */
721
#define GPIO_AF1_TIM15 ((uint8_t)0x01U)
/* TIM15 Alternate Function mapping */
722
#define GPIO_AF1_TIM16 ((uint8_t)0x01U)
/* TIM16 Alternate Function mapping */
723
#define GPIO_AF1_TIM17 ((uint8_t)0x01U)
/* TIM17 Alternate Function mapping */
724
#define GPIO_AF1_EVENTOUT ((uint8_t)0x01U)
/* EVENTOUT Alternate Function mapping */
728
#define GPIO_AF2_TIM1 ((uint8_t)0x02U)
/* TIM1 Alternate Function mapping */
729
#define GPIO_AF2_TIM2 ((uint8_t)0x02U)
/* TIM2 Alternate Function mapping */
730
#define GPIO_AF2_TIM3 ((uint8_t)0x02U)
/* TIM3 Alternate Function mapping */
731
#define GPIO_AF2_TIM4 ((uint8_t)0x02U)
/* TIM4 Alternate Function mapping */
732
#define GPIO_AF2_TIM8 ((uint8_t)0x02U)
/* TIM8 Alternate Function mapping */
733
#define GPIO_AF2_TIM15 ((uint8_t)0x02U)
/* TIM15 Alternate Function mapping */
734
#define GPIO_AF2_COMP1 ((uint8_t)0x02U)
/* COMP1 Alternate Function mapping */
738
#define GPIO_AF3_TSC ((uint8_t)0x03U)
/* TSC Alternate Function mapping */
739
#define GPIO_AF3_TIM8 ((uint8_t)0x03U)
/* TIM8 Alternate Function mapping */
740
#define GPIO_AF3_COMP7 ((uint8_t)0x03U)
/* COMP7 Alternate Function mapping */
741
#define GPIO_AF3_TIM15 ((uint8_t)0x03U)
/* TIM15 Alternate Function mapping */
742
746
#define GPIO_AF4_TIM1 ((uint8_t)0x04U)
/* TIM1 Alternate Function mapping */
747
#define GPIO_AF4_TIM8 ((uint8_t)0x04U)
/* TIM8 Alternate Function mapping */
748
#define GPIO_AF4_TIM16 ((uint8_t)0x04U)
/* TIM16 Alternate Function mapping */
749
#define GPIO_AF4_TIM17 ((uint8_t)0x04U)
/* TIM17 Alternate Function mapping */
750
#define GPIO_AF4_I2C1 ((uint8_t)0x04U)
/* I2C1 Alternate Function mapping */
751
#define GPIO_AF4_I2C2 ((uint8_t)0x04U)
/* I2C2 Alternate Function mapping */
752
756
#define GPIO_AF5_SPI1 ((uint8_t)0x05U)
/* SPI1/I2S1 Alternate Function mapping */
757
#define GPIO_AF5_SPI2 ((uint8_t)0x05U)
/* SPI2/I2S2 Alternate Function mapping */
758
#define GPIO_AF5_SPI3 ((uint8_t)0x05U)
/* SPI3/I2S3 Alternate Function mapping */
759
#define GPIO_AF5_I2S ((uint8_t)0x05U)
/* I2S Alternate Function mapping */
760
#define GPIO_AF5_I2S2ext ((uint8_t)0x05U)
/* I2S2ext Alternate Function mapping */
761
#define GPIO_AF5_TIM8 ((uint8_t)0x05U)
/* TIM8 Alternate Function mapping */
762
#define GPIO_AF5_IR ((uint8_t)0x05U)
/* IR Alternate Function mapping */
763
#define GPIO_AF5_UART4 ((uint8_t)0x05U)
/* UART4 Alternate Function mapping */
764
#define GPIO_AF5_UART5 ((uint8_t)0x05U)
/* UART5 Alternate Function mapping */
768
#define GPIO_AF6_SPI2 ((uint8_t)0x06U)
/* SPI2/I2S2 Alternate Function mapping */
769
#define GPIO_AF6_SPI3 ((uint8_t)0x06U)
/* SPI3/I2S3 Alternate Function mapping */
770
#define GPIO_AF6_I2S3ext ((uint8_t)0x06U)
/* I2S3ext Alternate Function mapping */
771
#define GPIO_AF6_TIM1 ((uint8_t)0x06U)
/* TIM1 Alternate Function mapping */
772
#define GPIO_AF6_TIM8 ((uint8_t)0x06U)
/* TIM8 Alternate Function mapping */
773
#define GPIO_AF6_IR ((uint8_t)0x06U)
/* IR Alternate Function mapping */
774
778
#define GPIO_AF7_USART1 ((uint8_t)0x07U)
/* USART1 Alternate Function mapping */
779
#define GPIO_AF7_USART2 ((uint8_t)0x07U)
/* USART2 Alternate Function mapping */
780
#define GPIO_AF7_USART3 ((uint8_t)0x07U)
/* USART3 Alternate Function mapping */
781
#define GPIO_AF7_COMP3 ((uint8_t)0x07U)
/* COMP3 Alternate Function mapping */
782
#define GPIO_AF7_COMP5 ((uint8_t)0x07U)
/* COMP5 Alternate Function mapping */
783
#define GPIO_AF7_COMP6 ((uint8_t)0x07U)
/* COMP6 Alternate Function mapping */
784
#define GPIO_AF7_CAN ((uint8_t)0x07U)
/* CAN Alternate Function mapping */
785
789
#define GPIO_AF8_COMP1 ((uint8_t)0x08U)
/* COMP1 Alternate Function mapping */
790
#define GPIO_AF8_COMP2 ((uint8_t)0x08U)
/* COMP2 Alternate Function mapping */
791
#define GPIO_AF8_COMP3 ((uint8_t)0x08U)
/* COMP3 Alternate Function mapping */
792
#define GPIO_AF8_COMP4 ((uint8_t)0x08U)
/* COMP4 Alternate Function mapping */
793
#define GPIO_AF8_COMP5 ((uint8_t)0x08U)
/* COMP5 Alternate Function mapping */
794
#define GPIO_AF8_COMP6 ((uint8_t)0x08U)
/* COMP6 Alternate Function mapping */
795
799
#define GPIO_AF9_CAN ((uint8_t)0x09U)
/* CAN Alternate Function mapping */
800
#define GPIO_AF9_TIM1 ((uint8_t)0x09U)
/* TIM1 Alternate Function mapping */
801
#define GPIO_AF9_TIM8 ((uint8_t)0x09U)
/* TIM8 Alternate Function mapping */
802
#define GPIO_AF9_TIM15 ((uint8_t)0x09U)
/* TIM15 Alternate Function mapping */
803
807
#define GPIO_AF10_TIM2 ((uint8_t)0xAU)
/* TIM2 Alternate Function mapping */
808
#define GPIO_AF10_TIM3 ((uint8_t)0xAU)
/* TIM3 Alternate Function mapping */
809
#define GPIO_AF10_TIM4 ((uint8_t)0xAU)
/* TIM4 Alternate Function mapping */
810
#define GPIO_AF10_TIM8 ((uint8_t)0xAU)
/* TIM8 Alternate Function mapping */
811
#define GPIO_AF10_TIM17 ((uint8_t)0xAU)
/* TIM17 Alternate Function mapping */
815
#define GPIO_AF11_TIM1 ((uint8_t)0x0BU)
/* TIM1 Alternate Function mapping */
816
#define GPIO_AF11_TIM8 ((uint8_t)0x0BU)
/* TIM8 Alternate Function mapping */
817
821
#define GPIO_AF12_TIM1 ((uint8_t)0xCU)
/* TIM1 Alternate Function mapping */
822
826
#define GPIO_AF15_EVENTOUT ((uint8_t)0x0FU)
/* EVENTOUT Alternate Function mapping */
827
828
#define IS_GPIO_AF(AF) (((AF) <= (uint8_t)0x0CU) || ((AF) == (uint8_t)0x0FU))
829
/*------------------------------------------------------------------------------------------*/
830
#endif
/* STM32F358xx */
831
832
#if defined (STM32F373xC)
833
/*---------------------------------- STM32F373xC--------------------------------*/
837
#define GPIO_AF0_RTC_50Hz ((uint8_t)0x00U)
/* RTC_50Hz Alternate Function mapping */
838
#define GPIO_AF0_MCO ((uint8_t)0x00U)
/* MCO (MCO1 and MCO2) Alternate Function mapping */
839
#define GPIO_AF0_TAMPER ((uint8_t)0x00U)
/* TAMPER (TAMPER_1 and TAMPER_2) Alternate Function mapping */
840
#define GPIO_AF0_SWJ ((uint8_t)0x00U)
/* SWJ (SWD and JTAG) Alternate Function mapping */
841
#define GPIO_AF0_TRACE ((uint8_t)0x00U)
/* TRACE Alternate Function mapping */
842
846
#define GPIO_AF1_TIM2 ((uint8_t)0x01U)
/* TIM2 Alternate Function mapping */
847
#define GPIO_AF1_TIM15 ((uint8_t)0x01U)
/* TIM15 Alternate Function mapping */
848
#define GPIO_AF1_TIM16 ((uint8_t)0x01U)
/* TIM16 Alternate Function mapping */
849
#define GPIO_AF1_TIM17 ((uint8_t)0x01U)
/* TIM17 Alternate Function mapping */
850
#define GPIO_AF1_EVENTOUT ((uint8_t)0x01U)
/* EVENTOUT Alternate Function mapping */
854
#define GPIO_AF2_TIM3 ((uint8_t)0x02U)
/* TIM3 Alternate Function mapping */
855
#define GPIO_AF2_TIM4 ((uint8_t)0x02U)
/* TIM4 Alternate Function mapping */
856
#define GPIO_AF2_TIM5 ((uint8_t)0x02U)
/* TIM5 Alternate Function mapping */
857
#define GPIO_AF2_TIM13 ((uint8_t)0x02U)
/* TIM13 Alternate Function mapping */
858
#define GPIO_AF2_TIM14 ((uint8_t)0x02U)
/* TIM14 Alternate Function mapping */
859
#define GPIO_AF2_TIM15 ((uint8_t)0x02U)
/* TIM15 Alternate Function mapping */
860
#define GPIO_AF2_TIM19 ((uint8_t)0x02U)
/* TIM19 Alternate Function mapping */
861
865
#define GPIO_AF3_TSC ((uint8_t)0x03U)
/* TSC Alternate Function mapping */
869
#define GPIO_AF4_I2C1 ((uint8_t)0x04U)
/* I2C1 Alternate Function mapping */
870
#define GPIO_AF4_I2C2 ((uint8_t)0x04U)
/* I2C2 Alternate Function mapping */
871
875
#define GPIO_AF5_SPI1 ((uint8_t)0x05U)
/* SPI1/I2S1 Alternate Function mapping */
876
#define GPIO_AF5_SPI2 ((uint8_t)0x05U)
/* SPI2/I2S2 Alternate Function mapping */
877
#define GPIO_AF5_IR ((uint8_t)0x05U)
/* IR Alternate Function mapping */
881
#define GPIO_AF6_SPI1 ((uint8_t)0x06U)
/* SPI1/I2S1 Alternate Function mapping */
882
#define GPIO_AF6_SPI3 ((uint8_t)0x06U)
/* SPI3/I2S3 Alternate Function mapping */
883
#define GPIO_AF6_IR ((uint8_t)0x06U)
/* IR Alternate Function mapping */
884
#define GPIO_AF6_CEC ((uint8_t)0x06U)
/* CEC Alternate Function mapping */
888
#define GPIO_AF7_USART1 ((uint8_t)0x07U)
/* USART1 Alternate Function mapping */
889
#define GPIO_AF7_USART2 ((uint8_t)0x07U)
/* USART2 Alternate Function mapping */
890
#define GPIO_AF7_USART3 ((uint8_t)0x07U)
/* USART3 Alternate Function mapping */
891
#define GPIO_AF7_CAN ((uint8_t)0x07U)
/* CAN Alternate Function mapping */
892
#define GPIO_AF7_CEC ((uint8_t)0x07U)
/* CEC Alternate Function mapping */
893
897
#define GPIO_AF8_COMP1 ((uint8_t)0x08U)
/* COMP1 Alternate Function mapping */
898
#define GPIO_AF8_COMP2 ((uint8_t)0x08U)
/* COMP2 Alternate Function mapping */
899
903
#define GPIO_AF9_CAN ((uint8_t)0x09U)
/* CAN Alternate Function mapping */
904
#define GPIO_AF9_TIM12 ((uint8_t)0x09U)
/* TIM12 Alternate Function mapping */
905
#define GPIO_AF9_TIM13 ((uint8_t)0x09U)
/* TIM13 Alternate Function mapping */
906
#define GPIO_AF9_TIM14 ((uint8_t)0x09U)
/* TIM14 Alternate Function mapping */
907
#define GPIO_AF9_TIM15 ((uint8_t)0x09U)
/* TIM15 Alternate Function mapping */
911
#define GPIO_AF10_TIM2 ((uint8_t)0xAU)
/* TIM2 Alternate Function mapping */
912
#define GPIO_AF10_TIM3 ((uint8_t)0xAU)
/* TIM3 Alternate Function mapping */
913
#define GPIO_AF10_TIM4 ((uint8_t)0xAU)
/* TIM4 Alternate Function mapping */
914
#define GPIO_AF10_TIM12 ((uint8_t)0xAU)
/* TIM12 Alternate Function mapping */
915
#define GPIO_AF10_TIM17 ((uint8_t)0xAU)
/* TIM17 Alternate Function mapping */
919
#define GPIO_AF11_TIM19 ((uint8_t)0x0BU)
/* TIM19 Alternate Function mapping */
920
921
925
#define GPIO_AF14_USB ((uint8_t)0x0EU)
/* USB Alternate Function mapping */
926
930
#define GPIO_AF15_EVENTOUT ((uint8_t)0x0FU)
/* EVENTOUT Alternate Function mapping */
931
932
#define IS_GPIO_AF(AF) (((AF) <= (uint8_t)0x0BU) || ((AF) == (uint8_t)0x0EU) || ((AF) == (uint8_t)0x0FU))
933
/*------------------------------------------------------------------------------------------*/
934
#endif
/* STM32F373xC */
935
936
937
#if defined (STM32F378xx)
938
/*---------------------------------------- STM32F378xx--------------------------------------*/
942
#define GPIO_AF0_RTC_50Hz ((uint8_t)0x00U)
/* RTC_50Hz Alternate Function mapping */
943
#define GPIO_AF0_MCO ((uint8_t)0x00U)
/* MCO (MCO1 and MCO2) Alternate Function mapping */
944
#define GPIO_AF0_TAMPER ((uint8_t)0x00U)
/* TAMPER (TAMPER_1 and TAMPER_2) Alternate Function mapping */
945
#define GPIO_AF0_SWJ ((uint8_t)0x00U)
/* SWJ (SWD and JTAG) Alternate Function mapping */
946
#define GPIO_AF0_TRACE ((uint8_t)0x00U)
/* TRACE Alternate Function mapping */
947
951
#define GPIO_AF1_TIM2 ((uint8_t)0x01U)
/* TIM2 Alternate Function mapping */
952
#define GPIO_AF1_TIM15 ((uint8_t)0x01U)
/* TIM15 Alternate Function mapping */
953
#define GPIO_AF1_TIM16 ((uint8_t)0x01U)
/* TIM16 Alternate Function mapping */
954
#define GPIO_AF1_TIM17 ((uint8_t)0x01U)
/* TIM17 Alternate Function mapping */
955
#define GPIO_AF1_EVENTOUT ((uint8_t)0x01U)
/* EVENTOUT Alternate Function mapping */
959
#define GPIO_AF2_TIM3 ((uint8_t)0x02U)
/* TIM3 Alternate Function mapping */
960
#define GPIO_AF2_TIM4 ((uint8_t)0x02U)
/* TIM4 Alternate Function mapping */
961
#define GPIO_AF2_TIM5 ((uint8_t)0x02U)
/* TIM5 Alternate Function mapping */
962
#define GPIO_AF2_TIM13 ((uint8_t)0x02U)
/* TIM13 Alternate Function mapping */
963
#define GPIO_AF2_TIM14 ((uint8_t)0x02U)
/* TIM14 Alternate Function mapping */
964
#define GPIO_AF2_TIM15 ((uint8_t)0x02U)
/* TIM15 Alternate Function mapping */
965
#define GPIO_AF2_TIM19 ((uint8_t)0x02U)
/* TIM19 Alternate Function mapping */
966
970
#define GPIO_AF3_TSC ((uint8_t)0x03U)
/* TSC Alternate Function mapping */
974
#define GPIO_AF4_I2C1 ((uint8_t)0x04U)
/* I2C1 Alternate Function mapping */
975
#define GPIO_AF4_I2C2 ((uint8_t)0x04U)
/* I2C2 Alternate Function mapping */
976
980
#define GPIO_AF5_SPI1 ((uint8_t)0x05U)
/* SPI1/I2S1 Alternate Function mapping */
981
#define GPIO_AF5_SPI2 ((uint8_t)0x05U)
/* SPI2/I2S2 Alternate Function mapping */
982
#define GPIO_AF5_IR ((uint8_t)0x05U)
/* IR Alternate Function mapping */
983
987
#define GPIO_AF6_SPI1 ((uint8_t)0x06U)
/* SPI1/I2S1 Alternate Function mapping */
988
#define GPIO_AF6_SPI3 ((uint8_t)0x06U)
/* SPI3/I2S3 Alternate Function mapping */
989
#define GPIO_AF6_IR ((uint8_t)0x06U)
/* IR Alternate Function mapping */
990
#define GPIO_AF6_CEC ((uint8_t)0x06U)
/* CEC Alternate Function mapping */
991
995
#define GPIO_AF7_USART1 ((uint8_t)0x07U)
/* USART1 Alternate Function mapping */
996
#define GPIO_AF7_USART2 ((uint8_t)0x07U)
/* USART2 Alternate Function mapping */
997
#define GPIO_AF7_USART3 ((uint8_t)0x07U)
/* USART3 Alternate Function mapping */
998
#define GPIO_AF7_CAN ((uint8_t)0x07U)
/* CAN Alternate Function mapping */
999
#define GPIO_AF7_CEC ((uint8_t)0x07U)
/* CEC Alternate Function mapping */
1000
1004
#define GPIO_AF8_COMP1 ((uint8_t)0x08U)
/* COMP1 Alternate Function mapping */
1005
#define GPIO_AF8_COMP2 ((uint8_t)0x08U)
/* COMP2 Alternate Function mapping */
1006
1010
#define GPIO_AF9_CAN ((uint8_t)0x09U)
/* CAN Alternate Function mapping */
1011
#define GPIO_AF9_TIM12 ((uint8_t)0x09U)
/* TIM12 Alternate Function mapping */
1012
#define GPIO_AF9_TIM13 ((uint8_t)0x09U)
/* TIM13 Alternate Function mapping */
1013
#define GPIO_AF9_TIM14 ((uint8_t)0x09U)
/* TIM14 Alternate Function mapping */
1014
#define GPIO_AF9_TIM15 ((uint8_t)0x09U)
/* TIM15 Alternate Function mapping */
1015
1019
#define GPIO_AF10_TIM2 ((uint8_t)0xAU)
/* TIM2 Alternate Function mapping */
1020
#define GPIO_AF10_TIM3 ((uint8_t)0xAU)
/* TIM3 Alternate Function mapping */
1021
#define GPIO_AF10_TIM4 ((uint8_t)0xAU)
/* TIM4 Alternate Function mapping */
1022
#define GPIO_AF10_TIM12 ((uint8_t)0xAU)
/* TIM12 Alternate Function mapping */
1023
#define GPIO_AF10_TIM17 ((uint8_t)0xAU)
/* TIM17 Alternate Function mapping */
1024
1028
#define GPIO_AF11_TIM19 ((uint8_t)0x0BU)
/* TIM19 Alternate Function mapping */
1029
1033
#define GPIO_AF15_EVENTOUT ((uint8_t)0x0FU)
/* EVENTOUT Alternate Function mapping */
1034
1035
#define IS_GPIO_AF(AF) (((AF) <= (uint8_t)0x0BU) || ((AF) == (uint8_t)0x0FU))
1036
/*------------------------------------------------------------------------------------------*/
1037
#endif
/* STM32F378xx */
1038
1039
#if defined (STM32F303x8)
1040
/*---------------------------------- STM32F303x8--------------------------------*/
1044
#define GPIO_AF0_MCO ((uint8_t)0x00U)
/* MCO (MCO1 and MCO2) Alternate Function mapping */
1045
#define GPIO_AF0_TAMPER ((uint8_t)0x00U)
/* TAMPER (TAMPER_1 and TAMPER_2) Alternate Function mapping */
1046
#define GPIO_AF0_SWJ ((uint8_t)0x00U)
/* SWJ (SWD and JTAG) Alternate Function mapping */
1047
#define GPIO_AF0_TRACE ((uint8_t)0x00U)
/* TRACE Alternate Function mapping */
1048
1052
#define GPIO_AF1_TIM2 ((uint8_t)0x01U)
/* TIM2 Alternate Function mapping */
1053
#define GPIO_AF1_TIM15 ((uint8_t)0x01U)
/* TIM15 Alternate Function mapping */
1054
#define GPIO_AF1_TIM16 ((uint8_t)0x01U)
/* TIM16 Alternate Function mapping */
1055
#define GPIO_AF1_TIM17 ((uint8_t)0x01U)
/* TIM17 Alternate Function mapping */
1056
#define GPIO_AF1_EVENTOUT ((uint8_t)0x01U)
/* EVENTOUT Alternate Function mapping */
1060
#define GPIO_AF2_TIM3 ((uint8_t)0x02U)
/* TIM3 Alternate Function mapping */
1061
#define GPIO_AF2_TIM1 ((uint8_t)0x02U)
/* TIM1 Alternate Function mapping */
1062
#define GPIO_AF2_TIM15 ((uint8_t)0x02U)
/* TIM15 Alternate Function mapping */
1063
#define GPIO_AF2_TIM16 ((uint8_t)0x02U)
/* TIM16 Alternate Function mapping */
1064
1068
#define GPIO_AF3_TSC ((uint8_t)0x03U)
/* TSC Alternate Function mapping */
1069
1073
#define GPIO_AF4_I2C1 ((uint8_t)0x04U)
/* I2C1 Alternate Function mapping */
1074
#define GPIO_AF4_TIM1 ((uint8_t)0x04U)
/* TIM1 Alternate Function mapping */
1075
1079
#define GPIO_AF5_SPI1 ((uint8_t)0x05U)
/* SPI1 Alternate Function mapping */
1080
#define GPIO_AF5_IR ((uint8_t)0x05U)
/* IR Alternate Function mapping */
1084
#define GPIO_AF6_TIM1 ((uint8_t)0x06U)
/* TIM1 Alternate Function mapping */
1085
#define GPIO_AF6_IR ((uint8_t)0x06U)
/* IR Alternate Function mapping */
1086
1090
#define GPIO_AF7_USART1 ((uint8_t)0x07U)
/* USART1 Alternate Function mapping */
1091
#define GPIO_AF7_USART2 ((uint8_t)0x07U)
/* USART2 Alternate Function mapping */
1092
#define GPIO_AF7_USART3 ((uint8_t)0x07U)
/* USART3 Alternate Function mapping */
1093
#define GPIO_AF7_GPCOMP6 ((uint8_t)0x07U)
/* GPCOMP6 Alternate Function mapping */
1094
1098
#define GPIO_AF8_GPCOMP2 ((uint8_t)0x08U)
/* GPCOMP2 Alternate Function mapping */
1099
#define GPIO_AF8_GPCOMP4 ((uint8_t)0x08U)
/* GPCOMP4 Alternate Function mapping */
1100
#define GPIO_AF8_GPCOMP6 ((uint8_t)0x08U)
/* GPCOMP6 Alternate Function mapping */
1101
1105
#define GPIO_AF9_CAN ((uint8_t)0x09U)
/* CAN Alternate Function mapping */
1106
#define GPIO_AF9_TIM1 ((uint8_t)0x09U)
/* TIM1 Alternate Function mapping */
1107
#define GPIO_AF9_TIM15 ((uint8_t)0x09U)
/* TIM15 Alternate Function mapping */
1111
#define GPIO_AF10_TIM2 ((uint8_t)0xAU)
/* TIM2 Alternate Function mapping */
1112
#define GPIO_AF10_TIM3 ((uint8_t)0xAU)
/* TIM3 Alternate Function mapping */
1113
#define GPIO_AF10_TIM17 ((uint8_t)0xAU)
/* TIM17 Alternate Function mapping */
1114
1118
#define GPIO_AF11_TIM1 ((uint8_t)0x0BU)
/* TIM1 Alternate Function mapping */
1119
1123
#define GPIO_AF12_TIM1 ((uint8_t)0x0CU)
/* TIM1 Alternate Function mapping */
1124
1128
#define GPIO_AF13_OPAMP2 ((uint8_t)0x0DU)
/* OPAMP2 Alternate Function mapping */
1129
1133
#define GPIO_AF15_EVENTOUT ((uint8_t)0x0FU)
/* EVENTOUT Alternate Function mapping */
1134
1135
#define IS_GPIO_AF(AF) (((AF) <= (uint8_t)0x0DU) || ((AF) == (uint8_t)0x0FU))
1136
/*------------------------------------------------------------------------------------------*/
1137
#endif
/* STM32F303x8 */
1138
1139
#if defined (STM32F334x8) || defined (STM32F328xx)
1140
/*---------------------------------- STM32F334x8/STM32F328xx -------------------------------*/
1144
#define GPIO_AF0_MCO ((uint8_t)0x00U)
/* MCO (MCO1 and MCO2) Alternate Function mapping */
1145
#define GPIO_AF0_TAMPER ((uint8_t)0x00U)
/* TAMPER (TAMPER_1 and TAMPER_2) Alternate Function mapping */
1146
#define GPIO_AF0_SWJ ((uint8_t)0x00U)
/* SWJ (SWD and JTAG) Alternate Function mapping */
1147
#define GPIO_AF0_TRACE ((uint8_t)0x00U)
/* TRACE Alternate Function mapping */
1148
1152
#define GPIO_AF1_TIM2 ((uint8_t)0x01U)
/* TIM2 Alternate Function mapping */
1153
#define GPIO_AF1_TIM15 ((uint8_t)0x01U)
/* TIM15 Alternate Function mapping */
1154
#define GPIO_AF1_TIM16 ((uint8_t)0x01U)
/* TIM16 Alternate Function mapping */
1155
#define GPIO_AF1_TIM17 ((uint8_t)0x01U)
/* TIM17 Alternate Function mapping */
1156
#define GPIO_AF1_EVENTOUT ((uint8_t)0x01U)
/* EVENTOUT Alternate Function mapping */
1160
#define GPIO_AF2_TIM3 ((uint8_t)0x02U)
/* TIM3 Alternate Function mapping */
1161
#define GPIO_AF2_TIM1 ((uint8_t)0x02U)
/* TIM1 Alternate Function mapping */
1162
#define GPIO_AF2_TIM15 ((uint8_t)0x02U)
/* TIM15 Alternate Function mapping */
1163
#define GPIO_AF2_TIM16 ((uint8_t)0x02U)
/* TIM16 Alternate Function mapping */
1164
1168
#define GPIO_AF3_TSC ((uint8_t)0x03U)
/* TSC Alternate Function mapping */
1169
#define GPIO_AF3_HRTIM1 ((uint8_t)0x03U)
/* HRTIM1 Alternate Function mapping */
1170
1174
#define GPIO_AF4_I2C1 ((uint8_t)0x04U)
/* I2C1 Alternate Function mapping */
1175
#define GPIO_AF4_TIM1 ((uint8_t)0x04U)
/* TIM1 Alternate Function mapping */
1176
1180
#define GPIO_AF5_SPI1 ((uint8_t)0x05U)
/* SPI1 Alternate Function mapping */
1181
#define GPIO_AF5_IR ((uint8_t)0x05U)
/* IR Alternate Function mapping */
1185
#define GPIO_AF6_TIM1 ((uint8_t)0x06U)
/* TIM1 Alternate Function mapping */
1186
#define GPIO_AF6_IR ((uint8_t)0x06U)
/* IR Alternate Function mapping */
1187
1191
#define GPIO_AF7_USART1 ((uint8_t)0x07U)
/* USART1 Alternate Function mapping */
1192
#define GPIO_AF7_USART2 ((uint8_t)0x07U)
/* USART2 Alternate Function mapping */
1193
#define GPIO_AF7_USART3 ((uint8_t)0x07U)
/* USART3 Alternate Function mapping */
1194
#define GPIO_AF7_GPCOMP6 ((uint8_t)0x07U)
/* GPCOMP6 Alternate Function mapping */
1195
1199
#define GPIO_AF8_GPCOMP2 ((uint8_t)0x08U)
/* GPCOMP2 Alternate Function mapping */
1200
#define GPIO_AF8_GPCOMP4 ((uint8_t)0x08U)
/* GPCOMP4 Alternate Function mapping */
1201
#define GPIO_AF8_GPCOMP6 ((uint8_t)0x08U)
/* GPCOMP6 Alternate Function mapping */
1202
1206
#define GPIO_AF9_CAN ((uint8_t)0x09U)
/* CAN Alternate Function mapping */
1207
#define GPIO_AF9_TIM1 ((uint8_t)0x09U)
/* TIM1 Alternate Function mapping */
1208
#define GPIO_AF9_TIM15 ((uint8_t)0x09U)
/* TIM15 Alternate Function mapping */
1212
#define GPIO_AF10_TIM2 ((uint8_t)0xAU)
/* TIM2 Alternate Function mapping */
1213
#define GPIO_AF10_TIM3 ((uint8_t)0xAU)
/* TIM3 Alternate Function mapping */
1214
#define GPIO_AF10_TIM17 ((uint8_t)0xAU)
/* TIM17 Alternate Function mapping */
1215
1219
#define GPIO_AF11_TIM1 ((uint8_t)0x0BU)
/* TIM1 Alternate Function mapping */
1220
1224
#define GPIO_AF12_TIM1 ((uint8_t)0x0CU)
/* TIM1 Alternate Function mapping */
1225
#define GPIO_AF12_HRTIM1 ((uint8_t)0x0CU)
/* HRTIM1 Alternate Function mapping */
1226
1230
#define GPIO_AF13_OPAMP2 ((uint8_t)0x0DU)
/* OPAMP2 Alternate Function mapping */
1231
#define GPIO_AF13_HRTIM1 ((uint8_t)0x0DU)
/* HRTIM1 Alternate Function mapping */
1232
1236
#define GPIO_AF15_EVENTOUT ((uint8_t)0x0FU)
/* EVENTOUT Alternate Function mapping */
1237
1238
#define IS_GPIO_AF(AF) (((AF) <= (uint8_t)0x0DU) || ((AF) == (uint8_t)0x0FU))
1239
/*------------------------------------------------------------------------------------------*/
1240
#endif
/* STM32F334x8 || STM32F328xx */
1241
1242
#if defined (STM32F301x8) || defined (STM32F318xx)
1243
/*---------------------------------- STM32F301x8 / STM32F318xx ------------------------------------------*/
1247
#define GPIO_AF0_MCO ((uint8_t)0x00U)
/* MCO (MCO1 and MCO2) Alternate Function mapping */
1248
#define GPIO_AF0_RTC_50Hz ((uint8_t)0x00U)
/* RTC Alternate Function mapping */
1249
#define GPIO_AF0_TAMPER ((uint8_t)0x00U)
/* TAMPER (TAMPER_1 and TAMPER_2) Alternate Function mapping */
1250
#define GPIO_AF0_SWJ ((uint8_t)0x00U)
/* SWJ (SWD and JTAG) Alternate Function mapping */
1251
#define GPIO_AF0_TRACE ((uint8_t)0x00U)
/* TRACE Alternate Function mapping */
1252
1256
#define GPIO_AF1_TIM2 ((uint8_t)0x01U)
/* TIM2 Alternate Function mapping */
1257
#define GPIO_AF1_TIM15 ((uint8_t)0x01U)
/* TIM15 Alternate Function mapping */
1258
#define GPIO_AF1_TIM16 ((uint8_t)0x01U)
/* TIM16 Alternate Function mapping */
1259
#define GPIO_AF1_TIM17 ((uint8_t)0x01U)
/* TIM17 Alternate Function mapping */
1260
#define GPIO_AF1_EVENTOUT ((uint8_t)0x01U)
/* EVENTOUT Alternate Function mapping */
1264
#define GPIO_AF2_I2C3 ((uint8_t)0x02U)
/* I2C3 Alternate Function mapping */
1265
#define GPIO_AF2_TIM1 ((uint8_t)0x02U)
/* TIM1 Alternate Function mapping */
1266
#define GPIO_AF2_TIM15 ((uint8_t)0x02U)
/* TIM15 Alternate Function mapping */
1267
#define GPIO_AF2_TIM2 ((uint8_t)0x02U)
/* TIM2 Alternate Function mapping */
1268
1272
#define GPIO_AF3_TSC ((uint8_t)0x03U)
/* TSC Alternate Function mapping */
1273
#define GPIO_AF3_I2C3 ((uint8_t)0x03U)
/* I2C3 Alternate Function mapping */
1274
#define GPIO_AF3_TIM15 ((uint8_t)0x03U)
/* TIM15 Alternate Function mapping */
1275
1279
#define GPIO_AF4_I2C1 ((uint8_t)0x04U)
/* I2C1 Alternate Function mapping */
1280
#define GPIO_AF4_I2C2 ((uint8_t)0x04U)
/* I2C2 Alternate Function mapping */
1281
#define GPIO_AF4_TIM1 ((uint8_t)0x04U)
/* TIM1 Alternate Function mapping */
1282
#define GPIO_AF4_TIM16 ((uint8_t)0x04U)
/* TIM16 Alternate Function mapping */
1283
#define GPIO_AF4_TIM17 ((uint8_t)0x04U)
/* TIM17 Alternate Function mapping */
1284
1288
#define GPIO_AF5_SPI1 ((uint8_t)0x05U)
/* SPI1 Alternate Function mapping */
1289
#define GPIO_AF5_SPI2 ((uint8_t)0x05U)
/* SPI2/I2S2 Alternate Function mapping */
1290
#define GPIO_AF5_SPI3 ((uint8_t)0x05U)
/* SPI3/I2S3 Alternate Function mapping */
1291
#define GPIO_AF5_IR ((uint8_t)0x05U)
/* IR Alternate Function mapping */
1295
#define GPIO_AF6_TIM1 ((uint8_t)0x06U)
/* TIM1 Alternate Function mapping */
1296
#define GPIO_AF6_IR ((uint8_t)0x06U)
/* IR Alternate Function mapping */
1297
#define GPIO_AF6_SPI2 ((uint8_t)0x06U)
/* SPI2/I2S2 Alternate Function mapping */
1298
#define GPIO_AF6_SPI3 ((uint8_t)0x06U)
/* SPI3/I2S3 Alternate Function mapping */
1299
1303
#define GPIO_AF7_USART1 ((uint8_t)0x07U)
/* USART1 Alternate Function mapping */
1304
#define GPIO_AF7_USART2 ((uint8_t)0x07U)
/* USART2 Alternate Function mapping */
1305
#define GPIO_AF7_USART3 ((uint8_t)0x07U)
/* USART3 Alternate Function mapping */
1306
#define GPIO_AF7_GPCOMP6 ((uint8_t)0x07U)
/* GPCOMP6 Alternate Function mapping */
1307
1311
#define GPIO_AF8_I2C3 ((uint8_t)0x08U)
/* I2C3 Alternate Function mapping */
1312
#define GPIO_AF8_GPCOMP2 ((uint8_t)0x08U)
/* GPCOMP2 Alternate Function mapping */
1313
#define GPIO_AF8_GPCOMP4 ((uint8_t)0x08U)
/* GPCOMP4 Alternate Function mapping */
1314
#define GPIO_AF8_GPCOMP6 ((uint8_t)0x08U)
/* GPCOMP6 Alternate Function mapping */
1315
1319
#define GPIO_AF9_TIM1 ((uint8_t)0x09U)
/* TIM1 Alternate Function mapping */
1320
#define GPIO_AF9_TIM15 ((uint8_t)0x09U)
/* TIM15 Alternate Function mapping */
1321
1325
#define GPIO_AF10_TIM2 ((uint8_t)0xAU)
/* TIM2 Alternate Function mapping */
1326
#define GPIO_AF10_TIM17 ((uint8_t)0xAU)
/* TIM17 Alternate Function mapping */
1327
1331
#define GPIO_AF11_TIM1 ((uint8_t)0x0BU)
/* TIM1 Alternate Function mapping */
1332
1336
#define GPIO_AF12_TIM1 ((uint8_t)0x0CU)
/* TIM1 Alternate Function mapping */
1337
1341
#define GPIO_AF15_EVENTOUT ((uint8_t)0x0FU)
/* EVENTOUT Alternate Function mapping */
1342
1343
#define IS_GPIO_AF(AF) (((AF) <= (uint8_t)0x0CU) || ((AF) == (uint8_t)0x0FU))
1344
/*------------------------------------------------------------------------------------------*/
1345
#endif
/* STM32F301x8 || STM32F318xx */
1346
1347
#if defined (STM32F302x8)
1348
/*---------------------------------- STM32F302x8------------------------------------------*/
1352
#define GPIO_AF0_MCO ((uint8_t)0x00U)
/* MCO (MCO1 and MCO2) Alternate Function mapping */
1353
#define GPIO_AF0_RTC_50Hz ((uint8_t)0x00U)
/* RTC Alternate Function mapping */
1354
#define GPIO_AF0_TAMPER ((uint8_t)0x00U)
/* TAMPER (TAMPER_1 and TAMPER_2) Alternate Function mapping */
1355
#define GPIO_AF0_SWJ ((uint8_t)0x00U)
/* SWJ (SWD and JTAG) Alternate Function mapping */
1356
#define GPIO_AF0_TRACE ((uint8_t)0x00U)
/* TRACE Alternate Function mapping */
1357
1361
#define GPIO_AF1_TIM2 ((uint8_t)0x01U)
/* TIM2 Alternate Function mapping */
1362
#define GPIO_AF1_TIM15 ((uint8_t)0x01U)
/* TIM15 Alternate Function mapping */
1363
#define GPIO_AF1_TIM16 ((uint8_t)0x01U)
/* TIM16 Alternate Function mapping */
1364
#define GPIO_AF1_TIM17 ((uint8_t)0x01U)
/* TIM17 Alternate Function mapping */
1365
#define GPIO_AF1_EVENTOUT ((uint8_t)0x01U)
/* EVENTOUT Alternate Function mapping */
1369
#define GPIO_AF2_I2C3 ((uint8_t)0x02U)
/* I2C3 Alternate Function mapping */
1370
#define GPIO_AF2_TIM1 ((uint8_t)0x02U)
/* TIM1 Alternate Function mapping */
1371
#define GPIO_AF2_TIM15 ((uint8_t)0x02U)
/* TIM15 Alternate Function mapping */
1372
#define GPIO_AF2_TIM2 ((uint8_t)0x02U)
/* TIM2 Alternate Function mapping */
1373
1377
#define GPIO_AF3_TSC ((uint8_t)0x03U)
/* TSC Alternate Function mapping */
1378
#define GPIO_AF3_I2C3 ((uint8_t)0x03U)
/* I2C3 Alternate Function mapping */
1379
#define GPIO_AF3_TIM15 ((uint8_t)0x03U)
/* TIM15 Alternate Function mapping */
1380
1384
#define GPIO_AF4_I2C1 ((uint8_t)0x04U)
/* I2C1 Alternate Function mapping */
1385
#define GPIO_AF4_I2C2 ((uint8_t)0x04U)
/* I2C2 Alternate Function mapping */
1386
#define GPIO_AF4_TIM1 ((uint8_t)0x04U)
/* TIM1 Alternate Function mapping */
1387
#define GPIO_AF4_TIM16 ((uint8_t)0x04U)
/* TIM16 Alternate Function mapping */
1388
#define GPIO_AF4_TIM17 ((uint8_t)0x04U)
/* TIM17 Alternate Function mapping */
1389
1393
#define GPIO_AF5_SPI1 ((uint8_t)0x05U)
/* SPI1 Alternate Function mapping */
1394
#define GPIO_AF5_SPI2 ((uint8_t)0x05U)
/* SPI2/I2S2 Alternate Function mapping */
1395
#define GPIO_AF5_SPI3 ((uint8_t)0x05U)
/* SPI3/I2S3 Alternate Function mapping */
1396
#define GPIO_AF5_IR ((uint8_t)0x05U)
/* IR Alternate Function mapping */
1400
#define GPIO_AF6_TIM1 ((uint8_t)0x06U)
/* TIM1 Alternate Function mapping */
1401
#define GPIO_AF6_IR ((uint8_t)0x06U)
/* IR Alternate Function mapping */
1402
#define GPIO_AF6_SPI2 ((uint8_t)0x06U)
/* SPI2/I2S2 Alternate Function mapping */
1403
#define GPIO_AF6_SPI3 ((uint8_t)0x06U)
/* SPI3/I2S3 Alternate Function mapping */
1404
1408
#define GPIO_AF7_USART1 ((uint8_t)0x07U)
/* USART1 Alternate Function mapping */
1409
#define GPIO_AF7_USART2 ((uint8_t)0x07U)
/* USART2 Alternate Function mapping */
1410
#define GPIO_AF7_USART3 ((uint8_t)0x07U)
/* USART3 Alternate Function mapping */
1411
#define GPIO_AF7_GPCOMP6 ((uint8_t)0x07U)
/* GPCOMP6 Alternate Function mapping */
1412
#define GPIO_AF7_CAN ((uint8_t)0x07U)
/* CAN Alternate Function mapping */
1413
1417
#define GPIO_AF8_I2C3 ((uint8_t)0x08U)
/* I2C3 Alternate Function mapping */
1418
#define GPIO_AF8_GPCOMP2 ((uint8_t)0x08U)
/* GPCOMP2 Alternate Function mapping */
1419
#define GPIO_AF8_GPCOMP4 ((uint8_t)0x08U)
/* GPCOMP4 Alternate Function mapping */
1420
#define GPIO_AF8_GPCOMP6 ((uint8_t)0x08U)
/* GPCOMP6 Alternate Function mapping */
1421
1425
#define GPIO_AF9_TIM1 ((uint8_t)0x09U)
/* TIM1 Alternate Function mapping */
1426
#define GPIO_AF9_TIM15 ((uint8_t)0x09U)
/* TIM15 Alternate Function mapping */
1427
#define GPIO_AF9_CAN ((uint8_t)0x09U)
/* CAN Alternate Function mapping */
1428
1432
#define GPIO_AF10_TIM2 ((uint8_t)0xAU)
/* TIM2 Alternate Function mapping */
1433
#define GPIO_AF10_TIM17 ((uint8_t)0xAU)
/* TIM17 Alternate Function mapping */
1434
1438
#define GPIO_AF11_TIM1 ((uint8_t)0x0BU)
/* TIM1 Alternate Function mapping */
1439
1443
#define GPIO_AF12_TIM1 ((uint8_t)0x0CU)
/* TIM1 Alternate Function mapping */
1444
1448
#define GPIO_AF15_EVENTOUT ((uint8_t)0x0FU)
/* EVENTOUT Alternate Function mapping */
1449
1450
#define IS_GPIO_AF(AF) (((AF) <= (uint8_t)0x0CU) || ((AF) == (uint8_t)0x0FU))
1451
/*------------------------------------------------------------------------------------------*/
1452
#endif
/* STM32F302x8 */
1461
/* Exported macro ------------------------------------------------------------*/
1469
#if defined(STM32F303x8) || defined(STM32F334x8) || defined(STM32F328xx) || \
1470
defined(STM32F301x8) || defined(STM32F302x8) || defined(STM32F318xx)
1471
#define GPIO_GET_INDEX(__GPIOx__) (((__GPIOx__) == (GPIOA))? 0U :\
1472
((__GPIOx__) == (GPIOB))? 1U :\
1473
((__GPIOx__) == (GPIOC))? 2U :\
1474
((__GPIOx__) == (GPIOD))? 3U : 5U)
1475
#endif
/* STM32F303x8 || STM32F334x8 || STM32F328xx || */
1476
/* STM32F301x8 || STM32F302x8 || STM32F318xx */
1477
1478
#if defined(STM32F302xC) || defined(STM32F303xC) || defined(STM32F358xx) || \
1479
defined(STM32F373xC) || defined(STM32F378xx)
1480
#define GPIO_GET_INDEX(__GPIOx__) (((__GPIOx__) == (GPIOA))? 0U :\
1481
((__GPIOx__) == (GPIOB))? 1U :\
1482
((__GPIOx__) == (GPIOC))? 2U :\
1483
((__GPIOx__) == (GPIOD))? 3U :\
1484
((__GPIOx__) == (GPIOE))? 4U : 5U)
1485
#endif
/* STM32F302xC || STM32F303xC || STM32F358xx || */
1486
/* STM32F373xC || STM32F378xx */
1487
1488
#if defined(STM32F302xE) || defined(STM32F303xE) || defined(STM32F398xx)
1489
#define GPIO_GET_INDEX(__GPIOx__) (((__GPIOx__) == (GPIOA))? 0U :\
1490
((__GPIOx__) == (GPIOB))? 1U :\
1491
((__GPIOx__) == (GPIOC))? 2U :\
1492
((__GPIOx__) == (GPIOD))? 3U :\
1493
((__GPIOx__) == (GPIOE))? 4U :\
1494
((__GPIOx__) == (GPIOF))? 5U :\
1495
((__GPIOx__) == (GPIOG))? 6U : 7U)
1496
#endif
/* STM32F302xE || STM32F303xE || STM32F398xx */
1497
1506
/* Exported functions --------------------------------------------------------*/
1515
#ifdef __cplusplus
1516
}
1517
#endif
1518
1519
#endif
/* __STM32F3xx_HAL_GPIO_EX_H */
1520
stm32f3xx_hal_def.h
This file contains HAL common defines, enumeration, macros and structures definitions.
Drivers
STM32F3xx_HAL_Driver
Inc
stm32f3xx_hal_gpio_ex.h
Generated by
1.9.6