The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

mbed 2

This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.

Committer:
AnnaBridge
Date:
Thu Nov 09 11:14:10 2017 +0000
Revision:
157:e7ca05fa8600
Parent:
156:ff21514d8981
Child:
160:5571c4ff569f
Release 155 of the mbed library.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 156:ff21514d8981 1 /**
AnnaBridge 156:ff21514d8981 2 ******************************************************************************
AnnaBridge 156:ff21514d8981 3 * @file stm32f0xx_hal_gpio_ex.h
AnnaBridge 156:ff21514d8981 4 * @author MCD Application Team
AnnaBridge 156:ff21514d8981 5 * @version V1.5.0
AnnaBridge 156:ff21514d8981 6 * @date 04-November-2016
AnnaBridge 156:ff21514d8981 7 * @brief Header file of GPIO HAL Extension module.
AnnaBridge 156:ff21514d8981 8 ******************************************************************************
AnnaBridge 156:ff21514d8981 9 * @attention
AnnaBridge 156:ff21514d8981 10 *
AnnaBridge 156:ff21514d8981 11 * <h2><center>&copy; COPYRIGHT(c) 2016 STMicroelectronics</center></h2>
AnnaBridge 156:ff21514d8981 12 *
AnnaBridge 156:ff21514d8981 13 * Redistribution and use in source and binary forms, with or without modification,
AnnaBridge 156:ff21514d8981 14 * are permitted provided that the following conditions are met:
AnnaBridge 156:ff21514d8981 15 * 1. Redistributions of source code must retain the above copyright notice,
AnnaBridge 156:ff21514d8981 16 * this list of conditions and the following disclaimer.
AnnaBridge 156:ff21514d8981 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
AnnaBridge 156:ff21514d8981 18 * this list of conditions and the following disclaimer in the documentation
AnnaBridge 156:ff21514d8981 19 * and/or other materials provided with the distribution.
AnnaBridge 156:ff21514d8981 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
AnnaBridge 156:ff21514d8981 21 * may be used to endorse or promote products derived from this software
AnnaBridge 156:ff21514d8981 22 * without specific prior written permission.
AnnaBridge 156:ff21514d8981 23 *
AnnaBridge 156:ff21514d8981 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AnnaBridge 156:ff21514d8981 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
AnnaBridge 156:ff21514d8981 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
AnnaBridge 156:ff21514d8981 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
AnnaBridge 156:ff21514d8981 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
AnnaBridge 156:ff21514d8981 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
AnnaBridge 156:ff21514d8981 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
AnnaBridge 156:ff21514d8981 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
AnnaBridge 156:ff21514d8981 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
AnnaBridge 156:ff21514d8981 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
AnnaBridge 156:ff21514d8981 34 *
AnnaBridge 156:ff21514d8981 35 ******************************************************************************
AnnaBridge 156:ff21514d8981 36 */
AnnaBridge 156:ff21514d8981 37
AnnaBridge 156:ff21514d8981 38 /* Define to prevent recursive inclusion -------------------------------------*/
AnnaBridge 156:ff21514d8981 39 #ifndef __STM32F0xx_HAL_GPIO_EX_H
AnnaBridge 156:ff21514d8981 40 #define __STM32F0xx_HAL_GPIO_EX_H
AnnaBridge 156:ff21514d8981 41
AnnaBridge 156:ff21514d8981 42 #ifdef __cplusplus
AnnaBridge 156:ff21514d8981 43 extern "C" {
AnnaBridge 156:ff21514d8981 44 #endif
AnnaBridge 156:ff21514d8981 45
AnnaBridge 156:ff21514d8981 46 /* Includes ------------------------------------------------------------------*/
AnnaBridge 156:ff21514d8981 47 #include "stm32f0xx_hal_def.h"
AnnaBridge 156:ff21514d8981 48
AnnaBridge 156:ff21514d8981 49 /** @addtogroup STM32F0xx_HAL_Driver
AnnaBridge 156:ff21514d8981 50 * @{
AnnaBridge 156:ff21514d8981 51 */
AnnaBridge 156:ff21514d8981 52
AnnaBridge 156:ff21514d8981 53 /** @defgroup GPIOEx GPIOEx
AnnaBridge 156:ff21514d8981 54 * @{
AnnaBridge 156:ff21514d8981 55 */
AnnaBridge 156:ff21514d8981 56
AnnaBridge 156:ff21514d8981 57 /* Exported types ------------------------------------------------------------*/
AnnaBridge 156:ff21514d8981 58 /* Exported constants --------------------------------------------------------*/
AnnaBridge 156:ff21514d8981 59 /** @defgroup GPIOEx_Exported_Constants GPIOEx Exported Constants
AnnaBridge 156:ff21514d8981 60 * @{
AnnaBridge 156:ff21514d8981 61 */
AnnaBridge 156:ff21514d8981 62
AnnaBridge 156:ff21514d8981 63 /** @defgroup GPIOEx_Alternate_function_selection GPIOEx Alternate function selection
AnnaBridge 156:ff21514d8981 64 * @{
AnnaBridge 156:ff21514d8981 65 */
AnnaBridge 156:ff21514d8981 66
AnnaBridge 156:ff21514d8981 67 #if defined (STM32F030x6)
AnnaBridge 156:ff21514d8981 68 /*------------------------- STM32F030x6---------------------------*/
AnnaBridge 156:ff21514d8981 69 /* AF 0 */
AnnaBridge 156:ff21514d8981 70 #define GPIO_AF0_EVENTOUT ((uint8_t)0x00U) /*!< AF0: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 71 #define GPIO_AF0_MCO ((uint8_t)0x00U) /*!< AF0: MCO Alternate Function mapping */
AnnaBridge 156:ff21514d8981 72 #define GPIO_AF0_SPI1 ((uint8_t)0x00U) /*!< AF0: SPI1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 73 #define GPIO_AF0_TIM17 ((uint8_t)0x00U) /*!< AF0: TIM17 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 74 #define GPIO_AF0_SWDIO ((uint8_t)0x00U) /*!< AF0: SWDIO Alternate Function mapping */
AnnaBridge 156:ff21514d8981 75 #define GPIO_AF0_SWCLK ((uint8_t)0x00U) /*!< AF0: SWCLK Alternate Function mapping */
AnnaBridge 156:ff21514d8981 76 #define GPIO_AF0_TIM14 ((uint8_t)0x00U) /*!< AF0: TIM14 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 77 #define GPIO_AF0_USART1 ((uint8_t)0x00U) /*!< AF0: USART1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 78 #define GPIO_AF0_IR ((uint8_t)0x00U) /*!< AF0: IR Alternate Function mapping */
AnnaBridge 156:ff21514d8981 79
AnnaBridge 156:ff21514d8981 80 /* AF 1 */
AnnaBridge 156:ff21514d8981 81 #define GPIO_AF1_TIM3 ((uint8_t)0x01U) /*!< AF1: TIM3 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 82 #define GPIO_AF1_USART1 ((uint8_t)0x01U) /*!< AF1: USART1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 83 #define GPIO_AF1_EVENTOUT ((uint8_t)0x01U) /*!< AF1: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 84 #define GPIO_AF1_I2C1 ((uint8_t)0x01U) /*!< AF1: I2C1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 85 #define GPIO_AF1_IR ((uint8_t)0x01U) /*!< AF1: IR Alternate Function mapping */
AnnaBridge 156:ff21514d8981 86
AnnaBridge 156:ff21514d8981 87 /* AF 2 */
AnnaBridge 156:ff21514d8981 88 #define GPIO_AF2_TIM1 ((uint8_t)0x02U) /*!< AF2: TIM1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 89 #define GPIO_AF2_TIM16 ((uint8_t)0x02U) /*!< AF2: TIM16 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 90 #define GPIO_AF2_TIM17 ((uint8_t)0x02U) /*!< AF2: TIM17 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 91 #define GPIO_AF2_EVENTOUT ((uint8_t)0x02U) /*!< AF2: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 92
AnnaBridge 156:ff21514d8981 93 /* AF 3 */
AnnaBridge 156:ff21514d8981 94 #define GPIO_AF3_EVENTOUT ((uint8_t)0x03U) /*!< AF3: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 95 #define GPIO_AF3_I2C1 ((uint8_t)0x03U) /*!< AF3: I2C1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 96
AnnaBridge 156:ff21514d8981 97 /* AF 4 */
AnnaBridge 156:ff21514d8981 98 #define GPIO_AF4_TIM14 ((uint8_t)0x04U) /*!< AF4: TIM14 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 99 #define GPIO_AF4_I2C1 ((uint8_t)0x04U) /*!< AF4: I2C1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 100
AnnaBridge 156:ff21514d8981 101 /* AF 5 */
AnnaBridge 156:ff21514d8981 102 #define GPIO_AF5_TIM16 ((uint8_t)0x05U) /*!< AF5: TIM16 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 103 #define GPIO_AF5_TIM17 ((uint8_t)0x05U) /*!< AF5: TIM17 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 104
AnnaBridge 156:ff21514d8981 105 /* AF 6 */
AnnaBridge 156:ff21514d8981 106 #define GPIO_AF6_EVENTOUT ((uint8_t)0x06U) /*!< AF6: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 107
AnnaBridge 156:ff21514d8981 108 #define IS_GPIO_AF(AF) ((AF) <= (uint8_t)0x06U)
AnnaBridge 156:ff21514d8981 109
AnnaBridge 156:ff21514d8981 110 #endif /* STM32F030x6 */
AnnaBridge 156:ff21514d8981 111
AnnaBridge 156:ff21514d8981 112 /*---------------------------------- STM32F030x8 -------------------------------------------*/
AnnaBridge 156:ff21514d8981 113 #if defined (STM32F030x8)
AnnaBridge 156:ff21514d8981 114 /* AF 0 */
AnnaBridge 156:ff21514d8981 115 #define GPIO_AF0_EVENTOUT ((uint8_t)0x00U) /*!< AF0: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 116 #define GPIO_AF0_MCO ((uint8_t)0x00U) /*!< AF0: MCO Alternate Function mapping */
AnnaBridge 156:ff21514d8981 117 #define GPIO_AF0_SPI1 ((uint8_t)0x00U) /*!< AF0: SPI1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 118 #define GPIO_AF0_SPI2 ((uint8_t)0x00U) /*!< AF0: SPI2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 119 #define GPIO_AF0_TIM15 ((uint8_t)0x00U) /*!< AF0: TIM15 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 120 #define GPIO_AF0_TIM17 ((uint8_t)0x00U) /*!< AF0: TIM17 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 121 #define GPIO_AF0_SWDIO ((uint8_t)0x00U) /*!< AF0: SWDIO Alternate Function mapping */
AnnaBridge 156:ff21514d8981 122 #define GPIO_AF0_SWCLK ((uint8_t)0x00U) /*!< AF0: SWCLK Alternate Function mapping */
AnnaBridge 156:ff21514d8981 123 #define GPIO_AF0_TIM14 ((uint8_t)0x00U) /*!< AF0: TIM14 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 124 #define GPIO_AF0_USART1 ((uint8_t)0x00U) /*!< AF0: USART1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 125 #define GPIO_AF0_IR ((uint8_t)0x00U) /*!< AF0: IR Alternate Function mapping */
AnnaBridge 156:ff21514d8981 126
AnnaBridge 156:ff21514d8981 127 /* AF 1 */
AnnaBridge 156:ff21514d8981 128 #define GPIO_AF1_TIM3 ((uint8_t)0x01U) /*!< AF1: TIM3 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 129 #define GPIO_AF1_TIM15 ((uint8_t)0x01U) /*!< AF1: TIM15 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 130 #define GPIO_AF1_USART1 ((uint8_t)0x01U) /*!< AF1: USART1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 131 #define GPIO_AF1_USART2 ((uint8_t)0x01U) /*!< AF1: USART2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 132 #define GPIO_AF1_EVENTOUT ((uint8_t)0x01U) /*!< AF1: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 133 #define GPIO_AF1_I2C1 ((uint8_t)0x01U) /*!< AF1: I2C1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 134 #define GPIO_AF1_I2C2 ((uint8_t)0x01U) /*!< AF1: I2C2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 135 #define GPIO_AF1_IR ((uint8_t)0x01U) /*!< AF1: IR Alternate Function mapping */
AnnaBridge 156:ff21514d8981 136
AnnaBridge 156:ff21514d8981 137 /* AF 2 */
AnnaBridge 156:ff21514d8981 138 #define GPIO_AF2_TIM1 ((uint8_t)0x02U) /*!< AF2: TIM1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 139 #define GPIO_AF2_TIM16 ((uint8_t)0x02U) /*!< AF2: TIM16 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 140 #define GPIO_AF2_TIM17 ((uint8_t)0x02U) /*!< AF2: TIM17 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 141 #define GPIO_AF2_EVENTOUT ((uint8_t)0x02U) /*!< AF2: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 142
AnnaBridge 156:ff21514d8981 143 /* AF 3 */
AnnaBridge 156:ff21514d8981 144 #define GPIO_AF3_EVENTOUT ((uint8_t)0x03U) /*!< AF3: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 145 #define GPIO_AF3_I2C1 ((uint8_t)0x03U) /*!< AF3: I2C1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 146 #define GPIO_AF3_TIM15 ((uint8_t)0x03U) /*!< AF3: TIM15 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 147
AnnaBridge 156:ff21514d8981 148 /* AF 4 */
AnnaBridge 156:ff21514d8981 149 #define GPIO_AF4_TIM14 ((uint8_t)0x04U) /*!< AF4: TIM14 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 150
AnnaBridge 156:ff21514d8981 151 /* AF 5 */
AnnaBridge 156:ff21514d8981 152 #define GPIO_AF5_TIM16 ((uint8_t)0x05U) /*!< AF5: TIM16 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 153 #define GPIO_AF5_TIM17 ((uint8_t)0x05U) /*!< AF5: TIM17 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 154
AnnaBridge 156:ff21514d8981 155 /* AF 6 */
AnnaBridge 156:ff21514d8981 156 #define GPIO_AF6_EVENTOUT ((uint8_t)0x06U) /*!< AF6: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 157
AnnaBridge 156:ff21514d8981 158 #define IS_GPIO_AF(AF) ((AF) <= (uint8_t)0x06U)
AnnaBridge 156:ff21514d8981 159
AnnaBridge 156:ff21514d8981 160 #endif /* STM32F030x8 */
AnnaBridge 156:ff21514d8981 161
AnnaBridge 156:ff21514d8981 162 #if defined (STM32F031x6) || defined (STM32F038xx)
AnnaBridge 156:ff21514d8981 163 /*--------------------------- STM32F031x6/STM32F038xx ---------------------------*/
AnnaBridge 156:ff21514d8981 164 /* AF 0 */
AnnaBridge 156:ff21514d8981 165 #define GPIO_AF0_EVENTOUT ((uint8_t)0x00U) /*!< AF0: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 166 #define GPIO_AF0_MCO ((uint8_t)0x00U) /*!< AF0: MCO Alternate Function mapping */
AnnaBridge 156:ff21514d8981 167 #define GPIO_AF0_SPI1 ((uint8_t)0x00U) /*!< AF0: SPI1/I2S1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 168 #define GPIO_AF0_TIM17 ((uint8_t)0x00U) /*!< AF0: TIM17 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 169 #define GPIO_AF0_SWDAT ((uint8_t)0x00U) /*!< AF0: SWDAT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 170 #define GPIO_AF0_SWCLK ((uint8_t)0x00U) /*!< AF0: SWCLK Alternate Function mapping */
AnnaBridge 156:ff21514d8981 171 #define GPIO_AF0_TIM14 ((uint8_t)0x00U) /*!< AF0: TIM14 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 172 #define GPIO_AF0_USART1 ((uint8_t)0x00U) /*!< AF0: USART1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 173 #define GPIO_AF0_IR ((uint8_t)0x00U) /*!< AF0: IR Alternate Function mapping */
AnnaBridge 156:ff21514d8981 174
AnnaBridge 156:ff21514d8981 175 /* AF 1 */
AnnaBridge 156:ff21514d8981 176 #define GPIO_AF1_TIM3 ((uint8_t)0x01U) /*!< AF1: TIM3 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 177 #define GPIO_AF1_USART1 ((uint8_t)0x01U) /*!< AF1: USART1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 178 #define GPIO_AF1_IR ((uint8_t)0x01U) /*!< AF1: IR Alternate Function mapping */
AnnaBridge 156:ff21514d8981 179 #define GPIO_AF1_EVENTOUT ((uint8_t)0x01U) /*!< AF1: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 180 #define GPIO_AF1_I2C1 ((uint8_t)0x01U) /*!< AF1: I2C1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 181
AnnaBridge 156:ff21514d8981 182 /* AF 2 */
AnnaBridge 156:ff21514d8981 183 #define GPIO_AF2_TIM1 ((uint8_t)0x02U) /*!< AF2: TIM1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 184 #define GPIO_AF2_TIM2 ((uint8_t)0x02U) /*!< AF2: TIM2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 185 #define GPIO_AF2_TIM16 ((uint8_t)0x02U) /*!< AF2: TIM16 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 186 #define GPIO_AF2_TIM17 ((uint8_t)0x02U) /*!< AF2: TIM17 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 187 #define GPIO_AF2_EVENTOUT ((uint8_t)0x02U) /*!< AF2: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 188
AnnaBridge 156:ff21514d8981 189 /* AF 3 */
AnnaBridge 156:ff21514d8981 190 #define GPIO_AF3_EVENTOUT ((uint8_t)0x03U) /*!< AF3: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 191 #define GPIO_AF3_I2C1 ((uint8_t)0x03U) /*!< AF3: I2C1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 192
AnnaBridge 156:ff21514d8981 193 /* AF 4 */
AnnaBridge 156:ff21514d8981 194 #define GPIO_AF4_TIM14 ((uint8_t)0x04U) /*!< AF4: TIM14 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 195 #define GPIO_AF4_I2C1 ((uint8_t)0x04U) /*!< AF4: I2C1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 196
AnnaBridge 156:ff21514d8981 197 /* AF 5 */
AnnaBridge 156:ff21514d8981 198 #define GPIO_AF5_TIM16 ((uint8_t)0x05U) /*!< AF5: TIM16 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 199 #define GPIO_AF5_TIM17 ((uint8_t)0x05U) /*!< AF5: TIM17 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 200
AnnaBridge 156:ff21514d8981 201 /* AF 6 */
AnnaBridge 156:ff21514d8981 202 #define GPIO_AF6_EVENTOUT ((uint8_t)0x06U) /*!< AF6: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 203
AnnaBridge 156:ff21514d8981 204 #define IS_GPIO_AF(AF) ((AF) <= (uint8_t)0x06U)
AnnaBridge 156:ff21514d8981 205
AnnaBridge 156:ff21514d8981 206 #endif /* STM32F031x6 || STM32F038xx */
AnnaBridge 156:ff21514d8981 207
AnnaBridge 156:ff21514d8981 208 #if defined (STM32F051x8) || defined (STM32F058xx)
AnnaBridge 156:ff21514d8981 209 /*--------------------------- STM32F051x8/STM32F058xx---------------------------*/
AnnaBridge 156:ff21514d8981 210 /* AF 0 */
AnnaBridge 156:ff21514d8981 211 #define GPIO_AF0_EVENTOUT ((uint8_t)0x00U) /*!< AF0: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 212 #define GPIO_AF0_MCO ((uint8_t)0x00U) /*!< AF0: MCO Alternate Function mapping */
AnnaBridge 156:ff21514d8981 213 #define GPIO_AF0_SPI1 ((uint8_t)0x00U) /*!< AF0: SPI1/I2S1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 214 #define GPIO_AF0_SPI2 ((uint8_t)0x00U) /*!< AF0: SPI2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 215 #define GPIO_AF0_TIM15 ((uint8_t)0x00U) /*!< AF0: TIM15 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 216 #define GPIO_AF0_TIM17 ((uint8_t)0x00U) /*!< AF0: TIM17 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 217 #define GPIO_AF0_SWDIO ((uint8_t)0x00U) /*!< AF0: SWDIO Alternate Function mapping */
AnnaBridge 156:ff21514d8981 218 #define GPIO_AF0_SWCLK ((uint8_t)0x00U) /*!< AF0: SWCLK Alternate Function mapping */
AnnaBridge 156:ff21514d8981 219 #define GPIO_AF0_TIM14 ((uint8_t)0x00U) /*!< AF0: TIM14 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 220 #define GPIO_AF0_USART1 ((uint8_t)0x00U) /*!< AF0: USART1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 221 #define GPIO_AF0_IR ((uint8_t)0x00U) /*!< AF0: IR Alternate Function mapping */
AnnaBridge 156:ff21514d8981 222 #define GPIO_AF0_CEC ((uint8_t)0x00U) /*!< AF0: CEC Alternate Function mapping */
AnnaBridge 156:ff21514d8981 223
AnnaBridge 156:ff21514d8981 224 /* AF 1 */
AnnaBridge 156:ff21514d8981 225 #define GPIO_AF1_TIM3 ((uint8_t)0x01U) /*!< AF1: TIM3 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 226 #define GPIO_AF1_TIM15 ((uint8_t)0x01U) /*!< AF1: TIM15 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 227 #define GPIO_AF1_USART1 ((uint8_t)0x01U) /*!< AF1: USART1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 228 #define GPIO_AF1_USART2 ((uint8_t)0x01U) /*!< AF1: USART2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 229 #define GPIO_AF1_EVENTOUT ((uint8_t)0x01U) /*!< AF1: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 230 #define GPIO_AF1_I2C1 ((uint8_t)0x01U) /*!< AF1: I2C1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 231 #define GPIO_AF1_I2C2 ((uint8_t)0x01U) /*!< AF1: I2C2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 232 #define GPIO_AF1_IR ((uint8_t)0x01U) /*!< AF1: IR Alternate Function mapping */
AnnaBridge 156:ff21514d8981 233 #define GPIO_AF1_CEC ((uint8_t)0x01U) /*!< AF1: CEC Alternate Function mapping */
AnnaBridge 156:ff21514d8981 234
AnnaBridge 156:ff21514d8981 235 /* AF 2 */
AnnaBridge 156:ff21514d8981 236 #define GPIO_AF2_TIM1 ((uint8_t)0x02U) /*!< AF2: TIM1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 237 #define GPIO_AF2_TIM2 ((uint8_t)0x02U) /*!< AF2: TIM2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 238 #define GPIO_AF2_TIM16 ((uint8_t)0x02U) /*!< AF2: TIM16 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 239 #define GPIO_AF2_TIM17 ((uint8_t)0x02U) /*!< AF2: TIM17 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 240 #define GPIO_AF2_EVENTOUT ((uint8_t)0x02U) /*!< AF2: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 241
AnnaBridge 156:ff21514d8981 242 /* AF 3 */
AnnaBridge 156:ff21514d8981 243 #define GPIO_AF3_EVENTOUT ((uint8_t)0x03U) /*!< AF3: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 244 #define GPIO_AF3_I2C1 ((uint8_t)0x03U) /*!< AF3: I2C1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 245 #define GPIO_AF3_TIM15 ((uint8_t)0x03U) /*!< AF3: TIM15 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 246 #define GPIO_AF3_TSC ((uint8_t)0x03U) /*!< AF3: TSC Alternate Function mapping */
AnnaBridge 156:ff21514d8981 247
AnnaBridge 156:ff21514d8981 248 /* AF 4 */
AnnaBridge 156:ff21514d8981 249 #define GPIO_AF4_TIM14 ((uint8_t)0x04U) /*!< AF4: TIM14 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 250
AnnaBridge 156:ff21514d8981 251 /* AF 5 */
AnnaBridge 156:ff21514d8981 252 #define GPIO_AF5_TIM16 ((uint8_t)0x05U) /*!< AF5: TIM16 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 253 #define GPIO_AF5_TIM17 ((uint8_t)0x05U) /*!< AF5: TIM17 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 254
AnnaBridge 156:ff21514d8981 255 /* AF 6 */
AnnaBridge 156:ff21514d8981 256 #define GPIO_AF6_EVENTOUT ((uint8_t)0x06U) /*!< AF6: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 257
AnnaBridge 156:ff21514d8981 258 /* AF 7 */
AnnaBridge 156:ff21514d8981 259 #define GPIO_AF7_COMP1 ((uint8_t)0x07U) /*!< AF7: COMP1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 260 #define GPIO_AF7_COMP2 ((uint8_t)0x07U) /*!< AF7: COMP2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 261
AnnaBridge 156:ff21514d8981 262 #define IS_GPIO_AF(AF) ((AF) <= (uint8_t)0x07U)
AnnaBridge 156:ff21514d8981 263
AnnaBridge 156:ff21514d8981 264 #endif /* STM32F051x8/STM32F058xx */
AnnaBridge 156:ff21514d8981 265
AnnaBridge 156:ff21514d8981 266 #if defined (STM32F071xB)
AnnaBridge 156:ff21514d8981 267 /*--------------------------- STM32F071xB ---------------------------*/
AnnaBridge 156:ff21514d8981 268 /* AF 0 */
AnnaBridge 156:ff21514d8981 269 #define GPIO_AF0_EVENTOUT ((uint8_t)0x00U) /*!< AF0: AEVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 270 #define GPIO_AF0_SWDIO ((uint8_t)0x00U) /*!< AF0: SWDIO Alternate Function mapping */
AnnaBridge 156:ff21514d8981 271 #define GPIO_AF0_SWCLK ((uint8_t)0x00U) /*!< AF0: SWCLK Alternate Function mapping */
AnnaBridge 156:ff21514d8981 272 #define GPIO_AF0_MCO ((uint8_t)0x00U) /*!< AF0: MCO Alternate Function mapping */
AnnaBridge 156:ff21514d8981 273 #define GPIO_AF0_CEC ((uint8_t)0x00U) /*!< AF0: CEC Alternate Function mapping */
AnnaBridge 156:ff21514d8981 274 #define GPIO_AF0_CRS ((uint8_t)0x00U) /*!< AF0: CRS Alternate Function mapping */
AnnaBridge 156:ff21514d8981 275 #define GPIO_AF0_IR ((uint8_t)0x00U) /*!< AF0: IR Alternate Function mapping */
AnnaBridge 156:ff21514d8981 276 #define GPIO_AF0_SPI1 ((uint8_t)0x00U) /*!< AF0: SPI1/I2S1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 277 #define GPIO_AF0_SPI2 ((uint8_t)0x00U) /*!< AF0: SPI2/I2S2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 278 #define GPIO_AF0_TIM1 ((uint8_t)0x00U) /*!< AF0: TIM1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 279 #define GPIO_AF0_TIM3 ((uint8_t)0x00U) /*!< AF0: TIM3 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 280 #define GPIO_AF0_TIM14 ((uint8_t)0x00U) /*!< AF0: TIM14 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 281 #define GPIO_AF0_TIM15 ((uint8_t)0x00U) /*!< AF0: TIM15 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 282 #define GPIO_AF0_TIM16 ((uint8_t)0x00U) /*!< AF0: TIM16 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 283 #define GPIO_AF0_TIM17 ((uint8_t)0x00U) /*!< AF0: TIM17 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 284 #define GPIO_AF0_TSC ((uint8_t)0x00U) /*!< AF0: TSC Alternate Function mapping */
AnnaBridge 156:ff21514d8981 285 #define GPIO_AF0_USART1 ((uint8_t)0x00U) /*!< AF0: USART1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 286 #define GPIO_AF0_USART2 ((uint8_t)0x00U) /*!< AF0: USART2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 287 #define GPIO_AF0_USART3 ((uint8_t)0x00U) /*!< AF0: USART3 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 288 #define GPIO_AF0_USART4 ((uint8_t)0x00U) /*!< AF0: USART4 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 289
AnnaBridge 156:ff21514d8981 290 /* AF 1 */
AnnaBridge 156:ff21514d8981 291 #define GPIO_AF1_TIM3 ((uint8_t)0x01U) /*!< AF1: TIM3 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 292 #define GPIO_AF1_TIM15 ((uint8_t)0x01U) /*!< AF1: TIM15 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 293 #define GPIO_AF1_USART1 ((uint8_t)0x01U) /*!< AF1: USART1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 294 #define GPIO_AF1_USART2 ((uint8_t)0x01U) /*!< AF1: USART2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 295 #define GPIO_AF1_USART3 ((uint8_t)0x01U) /*!< AF1: USART3 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 296 #define GPIO_AF1_IR ((uint8_t)0x01U) /*!< AF1: IR Alternate Function mapping */
AnnaBridge 156:ff21514d8981 297 #define GPIO_AF1_CEC ((uint8_t)0x01U) /*!< AF1: CEC Alternate Function mapping */
AnnaBridge 156:ff21514d8981 298 #define GPIO_AF1_EVENTOUT ((uint8_t)0x01U) /*!< AF1: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 299 #define GPIO_AF1_I2C1 ((uint8_t)0x01U) /*!< AF1: I2C1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 300 #define GPIO_AF1_I2C2 ((uint8_t)0x01U) /*!< AF1: I2C2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 301 #define GPIO_AF1_TSC ((uint8_t)0x01U) /*!< AF1: TSC Alternate Function mapping */
AnnaBridge 156:ff21514d8981 302 #define GPIO_AF1_SPI1 ((uint8_t)0x01U) /*!< AF1: SPI1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 303 #define GPIO_AF1_SPI2 ((uint8_t)0x01U) /*!< AF1: SPI2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 304
AnnaBridge 156:ff21514d8981 305 /* AF 2 */
AnnaBridge 156:ff21514d8981 306 #define GPIO_AF2_TIM1 ((uint8_t)0x02U) /*!< AF2: TIM1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 307 #define GPIO_AF2_TIM2 ((uint8_t)0x02U) /*!< AF2: TIM2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 308 #define GPIO_AF2_TIM16 ((uint8_t)0x02U) /*!< AF2: TIM16 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 309 #define GPIO_AF2_TIM17 ((uint8_t)0x02U) /*!< AF2: TIM17 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 310 #define GPIO_AF2_EVENTOUT ((uint8_t)0x02U) /*!< AF2: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 311
AnnaBridge 156:ff21514d8981 312 /* AF 3 */
AnnaBridge 156:ff21514d8981 313 #define GPIO_AF3_EVENTOUT ((uint8_t)0x03U) /*!< AF3: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 314 #define GPIO_AF3_TSC ((uint8_t)0x03U) /*!< AF3: TSC Alternate Function mapping */
AnnaBridge 156:ff21514d8981 315 #define GPIO_AF3_TIM15 ((uint8_t)0x03U) /*!< AF3: TIM15 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 316 #define GPIO_AF3_I2C1 ((uint8_t)0x03U) /*!< AF3: I2C1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 317
AnnaBridge 156:ff21514d8981 318 /* AF 4 */
AnnaBridge 156:ff21514d8981 319 #define GPIO_AF4_TIM14 ((uint8_t)0x04U) /*!< AF4: TIM14 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 320 #define GPIO_AF4_USART4 ((uint8_t)0x04U) /*!< AF4: USART4 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 321 #define GPIO_AF4_USART3 ((uint8_t)0x04U) /*!< AF4: USART3 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 322 #define GPIO_AF4_CRS ((uint8_t)0x04U) /*!< AF4: CRS Alternate Function mapping */
AnnaBridge 156:ff21514d8981 323
AnnaBridge 156:ff21514d8981 324 /* AF 5 */
AnnaBridge 156:ff21514d8981 325 #define GPIO_AF5_TIM15 ((uint8_t)0x05U) /*!< AF5: TIM15 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 326 #define GPIO_AF5_TIM16 ((uint8_t)0x05U) /*!< AF5: TIM16 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 327 #define GPIO_AF5_TIM17 ((uint8_t)0x05U) /*!< AF5: TIM17 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 328 #define GPIO_AF5_SPI2 ((uint8_t)0x05U) /*!< AF5: SPI2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 329 #define GPIO_AF5_I2C2 ((uint8_t)0x05U) /*!< AF5: I2C2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 330
AnnaBridge 156:ff21514d8981 331 /* AF 6 */
AnnaBridge 156:ff21514d8981 332 #define GPIO_AF6_EVENTOUT ((uint8_t)0x06U) /*!< AF6: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 333
AnnaBridge 156:ff21514d8981 334 /* AF 7 */
AnnaBridge 156:ff21514d8981 335 #define GPIO_AF7_COMP1 ((uint8_t)0x07U) /*!< AF7: COMP1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 336 #define GPIO_AF7_COMP2 ((uint8_t)0x07U) /*!< AF7: COMP2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 337
AnnaBridge 156:ff21514d8981 338 #define IS_GPIO_AF(AF) ((AF) <= (uint8_t)0x07U)
AnnaBridge 156:ff21514d8981 339
AnnaBridge 156:ff21514d8981 340 #endif /* STM32F071xB */
AnnaBridge 156:ff21514d8981 341
AnnaBridge 156:ff21514d8981 342
AnnaBridge 156:ff21514d8981 343 #if defined(STM32F091xC) || defined(STM32F098xx)
AnnaBridge 156:ff21514d8981 344 /*--------------------------- STM32F091xC || STM32F098xx ------------------------------*/
AnnaBridge 156:ff21514d8981 345 /* AF 0 */
AnnaBridge 156:ff21514d8981 346 #define GPIO_AF0_EVENTOUT ((uint8_t)0x00U) /*!< AF0: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 347 #define GPIO_AF0_SWDIO ((uint8_t)0x00U) /*!< AF0: SWDIO Alternate Function mapping */
AnnaBridge 156:ff21514d8981 348 #define GPIO_AF0_SWCLK ((uint8_t)0x00U) /*!< AF0: SWCLK Alternate Function mapping */
AnnaBridge 156:ff21514d8981 349 #define GPIO_AF0_MCO ((uint8_t)0x00U) /*!< AF0: MCO Alternate Function mapping */
AnnaBridge 156:ff21514d8981 350 #define GPIO_AF0_CEC ((uint8_t)0x00U) /*!< AF0: CEC Alternate Function mapping */
AnnaBridge 156:ff21514d8981 351 #define GPIO_AF0_CRS ((uint8_t)0x00U) /*!< AF0: CRS Alternate Function mapping */
AnnaBridge 156:ff21514d8981 352 #define GPIO_AF0_IR ((uint8_t)0x00U) /*!< AF0: IR Alternate Function mapping */
AnnaBridge 156:ff21514d8981 353 #define GPIO_AF0_SPI1 ((uint8_t)0x00U) /*!< AF0: SPI1/I2S1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 354 #define GPIO_AF0_SPI2 ((uint8_t)0x00U) /*!< AF0: SPI2/I2S2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 355 #define GPIO_AF0_TIM1 ((uint8_t)0x00U) /*!< AF0: TIM1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 356 #define GPIO_AF0_TIM3 ((uint8_t)0x00U) /*!< AF0: TIM3 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 357 #define GPIO_AF0_TIM14 ((uint8_t)0x00U) /*!< AF0: TIM14 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 358 #define GPIO_AF0_TIM15 ((uint8_t)0x00U) /*!< AF0: TIM15 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 359 #define GPIO_AF0_TIM16 ((uint8_t)0x00U) /*!< AF0: TIM16 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 360 #define GPIO_AF0_TIM17 ((uint8_t)0x00U) /*!< AF0: TIM17 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 361 #define GPIO_AF0_TSC ((uint8_t)0x00U) /*!< AF0: TSC Alternate Function mapping */
AnnaBridge 156:ff21514d8981 362 #define GPIO_AF0_USART1 ((uint8_t)0x00U) /*!< AF0: USART1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 363 #define GPIO_AF0_USART2 ((uint8_t)0x00U) /*!< AF0: USART2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 364 #define GPIO_AF0_USART3 ((uint8_t)0x00U) /*!< AF0: USART3 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 365 #define GPIO_AF0_USART4 ((uint8_t)0x00U) /*!< AF0: USART4 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 366 #define GPIO_AF0_USART8 ((uint8_t)0x00U) /*!< AF0: USART8 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 367 #define GPIO_AF0_CAN ((uint8_t)0x00U) /*!< AF0: CAN Alternate Function mapping */
AnnaBridge 156:ff21514d8981 368
AnnaBridge 156:ff21514d8981 369 /* AF 1 */
AnnaBridge 156:ff21514d8981 370 #define GPIO_AF1_TIM3 ((uint8_t)0x01U) /*!< AF1: TIM3 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 371 #define GPIO_AF1_TIM15 ((uint8_t)0x01U) /*!< AF1: TIM15 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 372 #define GPIO_AF1_USART1 ((uint8_t)0x01U) /*!< AF1: USART1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 373 #define GPIO_AF1_USART2 ((uint8_t)0x01U) /*!< AF1: USART2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 374 #define GPIO_AF1_USART3 ((uint8_t)0x01U) /*!< AF1: USART3 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 375 #define GPIO_AF1_USART4 ((uint8_t)0x01U) /*!< AF1: USART4 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 376 #define GPIO_AF1_USART5 ((uint8_t)0x01U) /*!< AF1: USART5 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 377 #define GPIO_AF1_USART6 ((uint8_t)0x01U) /*!< AF1: USART6 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 378 #define GPIO_AF1_USART7 ((uint8_t)0x01U) /*!< AF1: USART7 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 379 #define GPIO_AF1_USART8 ((uint8_t)0x01U) /*!< AF1: USART8 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 380 #define GPIO_AF1_IR ((uint8_t)0x01U) /*!< AF1: IR Alternate Function mapping */
AnnaBridge 156:ff21514d8981 381 #define GPIO_AF1_CEC ((uint8_t)0x01U) /*!< AF1: CEC Alternate Function mapping */
AnnaBridge 156:ff21514d8981 382 #define GPIO_AF1_EVENTOUT ((uint8_t)0x01U) /*!< AF1: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 383 #define GPIO_AF1_I2C1 ((uint8_t)0x01U) /*!< AF1: I2C1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 384 #define GPIO_AF1_I2C2 ((uint8_t)0x01U) /*!< AF1: I2C2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 385 #define GPIO_AF1_TSC ((uint8_t)0x01U) /*!< AF1: TSC Alternate Function mapping */
AnnaBridge 156:ff21514d8981 386 #define GPIO_AF1_SPI1 ((uint8_t)0x01U) /*!< AF1: SPI1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 387 #define GPIO_AF1_SPI2 ((uint8_t)0x01U) /*!< AF1: SPI2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 388
AnnaBridge 156:ff21514d8981 389 /* AF 2 */
AnnaBridge 156:ff21514d8981 390 #define GPIO_AF2_TIM1 ((uint8_t)0x02U) /*!< AF2: TIM1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 391 #define GPIO_AF2_TIM2 ((uint8_t)0x02U) /*!< AF2: TIM2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 392 #define GPIO_AF2_TIM16 ((uint8_t)0x02U) /*!< AF2: TIM16 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 393 #define GPIO_AF2_TIM17 ((uint8_t)0x02U) /*!< AF2: TIM17 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 394 #define GPIO_AF2_EVENTOUT ((uint8_t)0x02U) /*!< AF2: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 395 #define GPIO_AF2_USART5 ((uint8_t)0x02U) /*!< AF2: USART5 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 396 #define GPIO_AF2_USART6 ((uint8_t)0x02U) /*!< AF2: USART6 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 397 #define GPIO_AF2_USART7 ((uint8_t)0x02U) /*!< AF2: USART7 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 398 #define GPIO_AF2_USART8 ((uint8_t)0x02U) /*!< AF2: USART8 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 399
AnnaBridge 156:ff21514d8981 400 /* AF 3 */
AnnaBridge 156:ff21514d8981 401 #define GPIO_AF3_EVENTOUT ((uint8_t)0x03U) /*!< AF3: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 402 #define GPIO_AF3_TSC ((uint8_t)0x03U) /*!< AF3: TSC Alternate Function mapping */
AnnaBridge 156:ff21514d8981 403 #define GPIO_AF3_TIM15 ((uint8_t)0x03U) /*!< AF3: TIM15 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 404 #define GPIO_AF3_I2C1 ((uint8_t)0x03U) /*!< AF3: I2C1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 405
AnnaBridge 156:ff21514d8981 406 /* AF 4 */
AnnaBridge 156:ff21514d8981 407 #define GPIO_AF4_TIM14 ((uint8_t)0x04U) /*!< AF4: TIM14 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 408 #define GPIO_AF4_USART4 ((uint8_t)0x04U) /*!< AF4: USART4 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 409 #define GPIO_AF4_USART3 ((uint8_t)0x04U) /*!< AF4: USART3 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 410 #define GPIO_AF4_CRS ((uint8_t)0x04U) /*!< AF4: CRS Alternate Function mapping */
AnnaBridge 156:ff21514d8981 411 #define GPIO_AF4_CAN ((uint8_t)0x04U) /*!< AF4: CAN Alternate Function mapping */
AnnaBridge 156:ff21514d8981 412 #define GPIO_AF4_I2C1 ((uint8_t)0x04U) /*!< AF4: I2C1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 413 #define GPIO_AF4_USART5 ((uint8_t)0x04U) /*!< AF4: USART5 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 414
AnnaBridge 156:ff21514d8981 415 /* AF 5 */
AnnaBridge 156:ff21514d8981 416 #define GPIO_AF5_TIM15 ((uint8_t)0x05U) /*!< AF5: TIM15 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 417 #define GPIO_AF5_TIM16 ((uint8_t)0x05U) /*!< AF5: TIM16 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 418 #define GPIO_AF5_TIM17 ((uint8_t)0x05U) /*!< AF5: TIM17 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 419 #define GPIO_AF5_SPI2 ((uint8_t)0x05U) /*!< AF5: SPI2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 420 #define GPIO_AF5_I2C2 ((uint8_t)0x05U) /*!< AF5: I2C2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 421 #define GPIO_AF5_MCO ((uint8_t)0x05U) /*!< AF5: MCO Alternate Function mapping */
AnnaBridge 156:ff21514d8981 422 #define GPIO_AF5_USART6 ((uint8_t)0x05U) /*!< AF5: USART6 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 423
AnnaBridge 156:ff21514d8981 424 /* AF 6 */
AnnaBridge 156:ff21514d8981 425 #define GPIO_AF6_EVENTOUT ((uint8_t)0x06U) /*!< AF6: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 426
AnnaBridge 156:ff21514d8981 427 /* AF 7 */
AnnaBridge 156:ff21514d8981 428 #define GPIO_AF7_COMP1 ((uint8_t)0x07U) /*!< AF7: COMP1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 429 #define GPIO_AF7_COMP2 ((uint8_t)0x07U) /*!< AF7: COMP2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 430
AnnaBridge 156:ff21514d8981 431 #define IS_GPIO_AF(AF) ((AF) <= (uint8_t)0x07U)
AnnaBridge 156:ff21514d8981 432
AnnaBridge 156:ff21514d8981 433 #endif /* STM32F091xC || STM32F098xx */
AnnaBridge 156:ff21514d8981 434
AnnaBridge 156:ff21514d8981 435 #if defined(STM32F030xC)
AnnaBridge 156:ff21514d8981 436 /*--------------------------- STM32F030xC ----------------------------------------------------*/
AnnaBridge 156:ff21514d8981 437 /* AF 0 */
AnnaBridge 156:ff21514d8981 438 #define GPIO_AF0_EVENTOUT ((uint8_t)0x00U) /*!< AF0: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 439 #define GPIO_AF0_SWDIO ((uint8_t)0x00U) /*!< AF0: SWDIO Alternate Function mapping */
AnnaBridge 156:ff21514d8981 440 #define GPIO_AF0_SWCLK ((uint8_t)0x00U) /*!< AF0: SWCLK Alternate Function mapping */
AnnaBridge 156:ff21514d8981 441 #define GPIO_AF0_MCO ((uint8_t)0x00U) /*!< AF0: MCO Alternate Function mapping */
AnnaBridge 156:ff21514d8981 442 #define GPIO_AF0_IR ((uint8_t)0x00U) /*!< AF0: IR Alternate Function mapping */
AnnaBridge 156:ff21514d8981 443 #define GPIO_AF0_SPI1 ((uint8_t)0x00U) /*!< AF0: SPI1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 444 #define GPIO_AF0_SPI2 ((uint8_t)0x00U) /*!< AF0: SPI2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 445 #define GPIO_AF0_TIM3 ((uint8_t)0x00U) /*!< AF0: TIM3 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 446 #define GPIO_AF0_TIM14 ((uint8_t)0x00U) /*!< AF0: TIM14 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 447 #define GPIO_AF0_TIM15 ((uint8_t)0x00U) /*!< AF0: TIM15 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 448 #define GPIO_AF0_TIM17 ((uint8_t)0x00U) /*!< AF0: TIM17 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 449 #define GPIO_AF0_USART1 ((uint8_t)0x00U) /*!< AF0: USART1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 450 #define GPIO_AF0_USART4 ((uint8_t)0x00U) /*!< AF0: USART4 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 451
AnnaBridge 156:ff21514d8981 452 /* AF 1 */
AnnaBridge 156:ff21514d8981 453 #define GPIO_AF1_TIM3 ((uint8_t)0x01U) /*!< AF1: TIM3 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 454 #define GPIO_AF1_TIM15 ((uint8_t)0x01U) /*!< AF1: TIM15 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 455 #define GPIO_AF1_USART1 ((uint8_t)0x01U) /*!< AF1: USART1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 456 #define GPIO_AF1_USART2 ((uint8_t)0x01U) /*!< AF1: USART2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 457 #define GPIO_AF1_USART3 ((uint8_t)0x01U) /*!< AF1: USART3 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 458 #define GPIO_AF1_IR ((uint8_t)0x01U) /*!< AF1: IR Alternate Function mapping */
AnnaBridge 156:ff21514d8981 459 #define GPIO_AF1_EVENTOUT ((uint8_t)0x01U) /*!< AF1: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 460 #define GPIO_AF1_I2C1 ((uint8_t)0x01U) /*!< AF1: I2C1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 461 #define GPIO_AF1_I2C2 ((uint8_t)0x01U) /*!< AF1: I2C2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 462 #define GPIO_AF1_SPI2 ((uint8_t)0x01U) /*!< AF1: SPI2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 463
AnnaBridge 156:ff21514d8981 464 /* AF 2 */
AnnaBridge 156:ff21514d8981 465 #define GPIO_AF2_TIM1 ((uint8_t)0x02U) /*!< AF2: TIM1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 466 #define GPIO_AF2_TIM16 ((uint8_t)0x02U) /*!< AF2: TIM16 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 467 #define GPIO_AF2_TIM17 ((uint8_t)0x02U) /*!< AF2: TIM17 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 468 #define GPIO_AF2_EVENTOUT ((uint8_t)0x02U) /*!< AF2: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 469 #define GPIO_AF2_USART5 ((uint8_t)0x02U) /*!< AF2: USART5 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 470 #define GPIO_AF2_USART6 ((uint8_t)0x02U) /*!< AF2: USART6 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 471
AnnaBridge 156:ff21514d8981 472 /* AF 3 */
AnnaBridge 156:ff21514d8981 473 #define GPIO_AF3_EVENTOUT ((uint8_t)0x03U) /*!< AF3: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 474 #define GPIO_AF3_TIM15 ((uint8_t)0x03U) /*!< AF3: TIM15 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 475 #define GPIO_AF3_I2C1 ((uint8_t)0x03U) /*!< AF3: I2C1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 476
AnnaBridge 156:ff21514d8981 477 /* AF 4 */
AnnaBridge 156:ff21514d8981 478 #define GPIO_AF4_TIM14 ((uint8_t)0x04U) /*!< AF4: TIM14 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 479 #define GPIO_AF4_USART4 ((uint8_t)0x04U) /*!< AF4: USART4 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 480 #define GPIO_AF4_USART3 ((uint8_t)0x04U) /*!< AF4: USART3 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 481 #define GPIO_AF4_I2C1 ((uint8_t)0x04U) /*!< AF4: I2C1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 482 #define GPIO_AF4_USART5 ((uint8_t)0x04U) /*!< AF4: USART5 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 483
AnnaBridge 156:ff21514d8981 484 /* AF 5 */
AnnaBridge 156:ff21514d8981 485 #define GPIO_AF5_TIM15 ((uint8_t)0x05U) /*!< AF5: TIM15 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 486 #define GPIO_AF5_TIM16 ((uint8_t)0x05U) /*!< AF5: TIM16 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 487 #define GPIO_AF5_TIM17 ((uint8_t)0x05U) /*!< AF5: TIM17 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 488 #define GPIO_AF5_SPI2 ((uint8_t)0x05U) /*!< AF5: SPI2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 489 #define GPIO_AF5_I2C2 ((uint8_t)0x05U) /*!< AF5: I2C2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 490 #define GPIO_AF5_MCO ((uint8_t)0x05U) /*!< AF5: MCO Alternate Function mapping */
AnnaBridge 156:ff21514d8981 491 #define GPIO_AF5_USART6 ((uint8_t)0x05U) /*!< AF5: USART6 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 492
AnnaBridge 156:ff21514d8981 493 /* AF 6 */
AnnaBridge 156:ff21514d8981 494 #define GPIO_AF6_EVENTOUT ((uint8_t)0x06U) /*!< AF6: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 495
AnnaBridge 156:ff21514d8981 496 #define IS_GPIO_AF(AF) ((AF) <= (uint8_t)0x06U)
AnnaBridge 156:ff21514d8981 497
AnnaBridge 156:ff21514d8981 498 #endif /* STM32F030xC */
AnnaBridge 156:ff21514d8981 499
AnnaBridge 156:ff21514d8981 500 #if defined (STM32F072xB) || defined (STM32F078xx)
AnnaBridge 156:ff21514d8981 501 /*--------------------------- STM32F072xB/STM32F078xx ---------------------------*/
AnnaBridge 156:ff21514d8981 502 /* AF 0 */
AnnaBridge 156:ff21514d8981 503 #define GPIO_AF0_EVENTOUT ((uint8_t)0x00U) /*!< AF0: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 504 #define GPIO_AF0_SWDIO ((uint8_t)0x00U) /*!< AF0: SWDIO Alternate Function mapping */
AnnaBridge 156:ff21514d8981 505 #define GPIO_AF0_SWCLK ((uint8_t)0x00U) /*!< AF0: SWCLK Alternate Function mapping */
AnnaBridge 156:ff21514d8981 506 #define GPIO_AF0_MCO ((uint8_t)0x00U) /*!< AF0: MCO Alternate Function mapping */
AnnaBridge 156:ff21514d8981 507 #define GPIO_AF0_CEC ((uint8_t)0x00U) /*!< AF0: CEC Alternate Function mapping */
AnnaBridge 156:ff21514d8981 508 #define GPIO_AF0_CRS ((uint8_t)0x00U) /*!< AF0: CRS Alternate Function mapping */
AnnaBridge 156:ff21514d8981 509 #define GPIO_AF0_IR ((uint8_t)0x00U) /*!< AF0: IR Alternate Function mapping */
AnnaBridge 156:ff21514d8981 510 #define GPIO_AF0_SPI1 ((uint8_t)0x00U) /*!< AF0: SPI1/I2S1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 511 #define GPIO_AF0_SPI2 ((uint8_t)0x00U) /*!< AF0: SPI2/I2S2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 512 #define GPIO_AF0_TIM1 ((uint8_t)0x00U) /*!< AF0: TIM1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 513 #define GPIO_AF0_TIM3 ((uint8_t)0x00U) /*!< AF0: TIM3 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 514 #define GPIO_AF0_TIM14 ((uint8_t)0x00U) /*!< AF0: TIM14 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 515 #define GPIO_AF0_TIM15 ((uint8_t)0x00U) /*!< AF0: TIM15 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 516 #define GPIO_AF0_TIM16 ((uint8_t)0x00U) /*!< AF0: TIM16 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 517 #define GPIO_AF0_TIM17 ((uint8_t)0x00U) /*!< AF0: TIM17 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 518 #define GPIO_AF0_TSC ((uint8_t)0x00U) /*!< AF0: TSC Alternate Function mapping */
AnnaBridge 156:ff21514d8981 519 #define GPIO_AF0_USART1 ((uint8_t)0x00U) /*!< AF0: USART1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 520 #define GPIO_AF0_USART2 ((uint8_t)0x00U) /*!< AF0: USART2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 521 #define GPIO_AF0_USART3 ((uint8_t)0x00U) /*!< AF0: USART2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 522 #define GPIO_AF0_USART4 ((uint8_t)0x00U) /*!< AF0: USART4 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 523 #define GPIO_AF0_CAN ((uint8_t)0x00U) /*!< AF0: CAN Alternate Function mapping */
AnnaBridge 156:ff21514d8981 524
AnnaBridge 156:ff21514d8981 525 /* AF 1 */
AnnaBridge 156:ff21514d8981 526 #define GPIO_AF1_TIM3 ((uint8_t)0x01U) /*!< AF1: TIM3 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 527 #define GPIO_AF1_TIM15 ((uint8_t)0x01U) /*!< AF1: TIM15 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 528 #define GPIO_AF1_USART1 ((uint8_t)0x01U) /*!< AF1: USART1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 529 #define GPIO_AF1_USART2 ((uint8_t)0x01U) /*!< AF1: USART2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 530 #define GPIO_AF1_USART3 ((uint8_t)0x01U) /*!< AF1: USART3 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 531 #define GPIO_AF1_IR ((uint8_t)0x01U) /*!< AF1: IR Alternate Function mapping */
AnnaBridge 156:ff21514d8981 532 #define GPIO_AF1_CEC ((uint8_t)0x01U) /*!< AF1: CEC Alternate Function mapping */
AnnaBridge 156:ff21514d8981 533 #define GPIO_AF1_EVENTOUT ((uint8_t)0x01U) /*!< AF1: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 534 #define GPIO_AF1_I2C1 ((uint8_t)0x01U) /*!< AF1: I2C1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 535 #define GPIO_AF1_I2C2 ((uint8_t)0x01U) /*!< AF1: I2C1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 536 #define GPIO_AF1_TSC ((uint8_t)0x01U) /*!< AF1: I2C1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 537 #define GPIO_AF1_SPI1 ((uint8_t)0x01U) /*!< AF1: SPI1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 538 #define GPIO_AF1_SPI2 ((uint8_t)0x01U) /*!< AF1: SPI2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 539
AnnaBridge 156:ff21514d8981 540 /* AF 2 */
AnnaBridge 156:ff21514d8981 541 #define GPIO_AF2_TIM1 ((uint8_t)0x02U) /*!< AF2: TIM1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 542 #define GPIO_AF2_TIM2 ((uint8_t)0x02U) /*!< AF2: TIM2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 543 #define GPIO_AF2_TIM16 ((uint8_t)0x02U) /*!< AF2: TIM16 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 544 #define GPIO_AF2_TIM17 ((uint8_t)0x02U) /*!< AF2: TIM17 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 545 #define GPIO_AF2_EVENTOUT ((uint8_t)0x02U) /*!< AF2: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 546 #define GPIO_AF2_USB ((uint8_t)0x02U) /*!< AF2: USB Alternate Function mapping */
AnnaBridge 156:ff21514d8981 547
AnnaBridge 156:ff21514d8981 548 /* AF 3 */
AnnaBridge 156:ff21514d8981 549 #define GPIO_AF3_EVENTOUT ((uint8_t)0x03U) /*!< AF3: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 550 #define GPIO_AF3_TSC ((uint8_t)0x03U) /*!< AF3: TSC Alternate Function mapping */
AnnaBridge 156:ff21514d8981 551 #define GPIO_AF3_TIM15 ((uint8_t)0x03U) /*!< AF3: TIM15 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 552 #define GPIO_AF3_I2C1 ((uint8_t)0x03U) /*!< AF3: I2C1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 553
AnnaBridge 156:ff21514d8981 554 /* AF 4 */
AnnaBridge 156:ff21514d8981 555 #define GPIO_AF4_TIM14 ((uint8_t)0x04U) /*!< AF4: TIM14 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 556 #define GPIO_AF4_USART4 ((uint8_t)0x04U) /*!< AF4: USART4 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 557 #define GPIO_AF4_USART3 ((uint8_t)0x04U) /*!< AF4: USART3 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 558 #define GPIO_AF4_CRS ((uint8_t)0x04U) /*!< AF4: CRS Alternate Function mapping */
AnnaBridge 156:ff21514d8981 559 #define GPIO_AF4_CAN ((uint8_t)0x04U) /*!< AF4: CAN Alternate Function mapping */
AnnaBridge 156:ff21514d8981 560
AnnaBridge 156:ff21514d8981 561 /* AF 5 */
AnnaBridge 156:ff21514d8981 562 #define GPIO_AF5_TIM15 ((uint8_t)0x05U) /*!< AF5: TIM15 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 563 #define GPIO_AF5_TIM16 ((uint8_t)0x05U) /*!< AF5: TIM16 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 564 #define GPIO_AF5_TIM17 ((uint8_t)0x05U) /*!< AF5: TIM17 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 565 #define GPIO_AF5_SPI2 ((uint8_t)0x05U) /*!< AF5: SPI2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 566 #define GPIO_AF5_I2C2 ((uint8_t)0x05U) /*!< AF5: I2C2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 567
AnnaBridge 156:ff21514d8981 568 /* AF 6 */
AnnaBridge 156:ff21514d8981 569 #define GPIO_AF6_EVENTOUT ((uint8_t)0x06U) /*!< AF6: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 570
AnnaBridge 156:ff21514d8981 571 /* AF 7 */
AnnaBridge 156:ff21514d8981 572 #define GPIO_AF7_COMP1 ((uint8_t)0x07U) /*!< AF7: COMP1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 573 #define GPIO_AF7_COMP2 ((uint8_t)0x07U) /*!< AF7: COMP2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 574
AnnaBridge 156:ff21514d8981 575 #define IS_GPIO_AF(AF) ((AF) <= (uint8_t)0x07U)
AnnaBridge 156:ff21514d8981 576
AnnaBridge 156:ff21514d8981 577 #endif /* STM32F072xB || STM32F078xx */
AnnaBridge 156:ff21514d8981 578
AnnaBridge 156:ff21514d8981 579 #if defined (STM32F070xB)
AnnaBridge 156:ff21514d8981 580 /*---------------------------------- STM32F070xB ---------------------------------------------*/
AnnaBridge 156:ff21514d8981 581 /* AF 0 */
AnnaBridge 156:ff21514d8981 582 #define GPIO_AF0_EVENTOUT ((uint8_t)0x00U) /*!< AF0: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 583 #define GPIO_AF0_SWDIO ((uint8_t)0x00U) /*!< AF0: SWDIO Alternate Function mapping */
AnnaBridge 156:ff21514d8981 584 #define GPIO_AF0_SWCLK ((uint8_t)0x00U) /*!< AF0: SWCLK Alternate Function mapping */
AnnaBridge 156:ff21514d8981 585 #define GPIO_AF0_MCO ((uint8_t)0x00U) /*!< AF0: MCO Alternate Function mapping */
AnnaBridge 156:ff21514d8981 586 #define GPIO_AF0_IR ((uint8_t)0x00U) /*!< AF0: IR Alternate Function mapping */
AnnaBridge 156:ff21514d8981 587 #define GPIO_AF0_SPI1 ((uint8_t)0x00U) /*!< AF0: SPI1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 588 #define GPIO_AF0_SPI2 ((uint8_t)0x00U) /*!< AF0: SPI2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 589 #define GPIO_AF0_TIM3 ((uint8_t)0x00U) /*!< AF0: TIM3 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 590 #define GPIO_AF0_TIM14 ((uint8_t)0x00U) /*!< AF0: TIM14 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 591 #define GPIO_AF0_TIM15 ((uint8_t)0x00U) /*!< AF0: TIM15 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 592 #define GPIO_AF0_TIM17 ((uint8_t)0x00U) /*!< AF0: TIM17 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 593 #define GPIO_AF0_USART1 ((uint8_t)0x00U) /*!< AF0: USART1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 594 #define GPIO_AF0_USART4 ((uint8_t)0x00U) /*!< AF0: USART4 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 595
AnnaBridge 156:ff21514d8981 596 /* AF 1 */
AnnaBridge 156:ff21514d8981 597 #define GPIO_AF1_TIM3 ((uint8_t)0x01U) /*!< AF1: TIM3 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 598 #define GPIO_AF1_TIM15 ((uint8_t)0x01U) /*!< AF1: TIM15 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 599 #define GPIO_AF1_USART1 ((uint8_t)0x01U) /*!< AF1: USART1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 600 #define GPIO_AF1_USART2 ((uint8_t)0x01U) /*!< AF1: USART2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 601 #define GPIO_AF1_USART3 ((uint8_t)0x01U) /*!< AF1: USART4 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 602 #define GPIO_AF1_IR ((uint8_t)0x01U) /*!< AF1: IR Alternate Function mapping */
AnnaBridge 156:ff21514d8981 603 #define GPIO_AF1_EVENTOUT ((uint8_t)0x01U) /*!< AF1: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 604 #define GPIO_AF1_I2C1 ((uint8_t)0x01U) /*!< AF1: I2C1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 605 #define GPIO_AF1_I2C2 ((uint8_t)0x01U) /*!< AF1: I2C1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 606 #define GPIO_AF1_SPI2 ((uint8_t)0x01U) /*!< AF1: SPI2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 607
AnnaBridge 156:ff21514d8981 608 /* AF 2 */
AnnaBridge 156:ff21514d8981 609 #define GPIO_AF2_TIM1 ((uint8_t)0x02U) /*!< AF2: TIM1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 610 #define GPIO_AF2_TIM16 ((uint8_t)0x02U) /*!< AF2: TIM16 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 611 #define GPIO_AF2_TIM17 ((uint8_t)0x02U) /*!< AF2: TIM17 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 612 #define GPIO_AF2_EVENTOUT ((uint8_t)0x02U) /*!< AF2: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 613 #define GPIO_AF2_USB ((uint8_t)0x02U) /*!< AF2: USB Alternate Function mapping */
AnnaBridge 156:ff21514d8981 614
AnnaBridge 156:ff21514d8981 615 /* AF 3 */
AnnaBridge 156:ff21514d8981 616 #define GPIO_AF3_EVENTOUT ((uint8_t)0x03U) /*!< AF3: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 617 #define GPIO_AF3_I2C1 ((uint8_t)0x03U) /*!< AF3: I2C1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 618 #define GPIO_AF3_TIM15 ((uint8_t)0x03U) /*!< AF3: TIM15 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 619
AnnaBridge 156:ff21514d8981 620 /* AF 4 */
AnnaBridge 156:ff21514d8981 621 #define GPIO_AF4_TIM14 ((uint8_t)0x04U) /*!< AF4: TIM14 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 622 #define GPIO_AF4_USART4 ((uint8_t)0x04U) /*!< AF4: USART4 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 623 #define GPIO_AF4_USART3 ((uint8_t)0x04U) /*!< AF4: USART3 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 624
AnnaBridge 156:ff21514d8981 625 /* AF 5 */
AnnaBridge 156:ff21514d8981 626 #define GPIO_AF5_TIM15 ((uint8_t)0x05U) /*!< AF5: TIM15 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 627 #define GPIO_AF5_TIM16 ((uint8_t)0x05U) /*!< AF5: TIM16 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 628 #define GPIO_AF5_TIM17 ((uint8_t)0x05U) /*!< AF5: TIM17 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 629 #define GPIO_AF5_SPI2 ((uint8_t)0x05U) /*!< AF5: SPI2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 630 #define GPIO_AF5_I2C2 ((uint8_t)0x05U) /*!< AF5: I2C2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 631
AnnaBridge 156:ff21514d8981 632 /* AF 6 */
AnnaBridge 156:ff21514d8981 633 #define GPIO_AF6_EVENTOUT ((uint8_t)0x06U) /*!< AF6: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 634
AnnaBridge 156:ff21514d8981 635 #define IS_GPIO_AF(AF) ((AF) <= (uint8_t)0x06U)
AnnaBridge 156:ff21514d8981 636
AnnaBridge 156:ff21514d8981 637 #endif /* STM32F070xB */
AnnaBridge 156:ff21514d8981 638
AnnaBridge 156:ff21514d8981 639 #if defined (STM32F042x6) || defined (STM32F048xx)
AnnaBridge 156:ff21514d8981 640 /*--------------------------- STM32F042x6/STM32F048xx ---------------------------*/
AnnaBridge 156:ff21514d8981 641 /* AF 0 */
AnnaBridge 156:ff21514d8981 642 #define GPIO_AF0_EVENTOUT ((uint8_t)0x00U) /*!< AF0: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 643 #define GPIO_AF0_CEC ((uint8_t)0x00U) /*!< AF0: CEC Alternate Function mapping */
AnnaBridge 156:ff21514d8981 644 #define GPIO_AF0_CRS ((uint8_t)0x00U) /*!< AF0: CRS Alternate Function mapping */
AnnaBridge 156:ff21514d8981 645 #define GPIO_AF0_IR ((uint8_t)0x00U) /*!< AF0: IR Alternate Function mapping */
AnnaBridge 156:ff21514d8981 646 #define GPIO_AF0_MCO ((uint8_t)0x00U) /*!< AF0: MCO Alternate Function mapping */
AnnaBridge 156:ff21514d8981 647 #define GPIO_AF0_SPI1 ((uint8_t)0x00U) /*!< AF0: SPI1/I2S1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 648 #define GPIO_AF0_SPI2 ((uint8_t)0x00U) /*!< AF0: SPI2/I2S2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 649 #define GPIO_AF0_SWDIO ((uint8_t)0x00U) /*!< AF0: SWDIO Alternate Function mapping */
AnnaBridge 156:ff21514d8981 650 #define GPIO_AF0_SWCLK ((uint8_t)0x00U) /*!< AF0: SWCLK Alternate Function mapping */
AnnaBridge 156:ff21514d8981 651 #define GPIO_AF0_TIM14 ((uint8_t)0x00U) /*!< AF0: TIM14 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 652 #define GPIO_AF0_TIM17 ((uint8_t)0x00U) /*!< AF0: TIM17 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 653 #define GPIO_AF0_USART1 ((uint8_t)0x00U) /*!< AF0: USART1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 654
AnnaBridge 156:ff21514d8981 655 /* AF 1 */
AnnaBridge 156:ff21514d8981 656 #define GPIO_AF1_CEC ((uint8_t)0x01U) /*!< AF1: CEC Alternate Function mapping */
AnnaBridge 156:ff21514d8981 657 #define GPIO_AF1_EVENTOUT ((uint8_t)0x01U) /*!< AF1: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 658 #define GPIO_AF1_I2C1 ((uint8_t)0x01U) /*!< AF1: I2C1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 659 #define GPIO_AF1_IR ((uint8_t)0x01U) /*!< AF1: IR Alternate Function mapping */
AnnaBridge 156:ff21514d8981 660 #define GPIO_AF1_USART1 ((uint8_t)0x01U) /*!< AF1: USART1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 661 #define GPIO_AF1_USART2 ((uint8_t)0x01U) /*!< AF1: USART2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 662 #define GPIO_AF1_TIM3 ((uint8_t)0x01U) /*!< AF1: TIM3 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 663
AnnaBridge 156:ff21514d8981 664 /* AF 2 */
AnnaBridge 156:ff21514d8981 665 #define GPIO_AF2_EVENTOUT ((uint8_t)0x02U) /*!< AF2: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 666 #define GPIO_AF2_TIM1 ((uint8_t)0x02U) /*!< AF2: TIM1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 667 #define GPIO_AF2_TIM2 ((uint8_t)0x02U) /*!< AF2: TIM2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 668 #define GPIO_AF2_TIM16 ((uint8_t)0x02U) /*!< AF2: TIM16 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 669 #define GPIO_AF2_TIM17 ((uint8_t)0x02U) /*!< AF2: TIM17 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 670 #define GPIO_AF2_USB ((uint8_t)0x02U) /*!< AF2: USB Alternate Function mapping */
AnnaBridge 156:ff21514d8981 671
AnnaBridge 156:ff21514d8981 672 /* AF 3 */
AnnaBridge 156:ff21514d8981 673 #define GPIO_AF3_EVENTOUT ((uint8_t)0x03U) /*!< AF3: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 674 #define GPIO_AF3_I2C1 ((uint8_t)0x03U) /*!< AF3: I2C1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 675 #define GPIO_AF3_TSC ((uint8_t)0x03U) /*!< AF3: TSC Alternate Function mapping */
AnnaBridge 156:ff21514d8981 676
AnnaBridge 156:ff21514d8981 677 /* AF 4 */
AnnaBridge 156:ff21514d8981 678 #define GPIO_AF4_TIM14 ((uint8_t)0x04U) /*!< AF4: TIM14 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 679 #define GPIO_AF4_CAN ((uint8_t)0x04U) /*!< AF4: CAN Alternate Function mapping */
AnnaBridge 156:ff21514d8981 680 #define GPIO_AF4_CRS ((uint8_t)0x04U) /*!< AF4: CRS Alternate Function mapping */
AnnaBridge 156:ff21514d8981 681 #define GPIO_AF4_I2C1 ((uint8_t)0x04U) /*!< AF4: I2C1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 682
AnnaBridge 156:ff21514d8981 683 /* AF 5 */
AnnaBridge 156:ff21514d8981 684 #define GPIO_AF5_MCO ((uint8_t)0x05U) /*!< AF5: MCO Alternate Function mapping */
AnnaBridge 156:ff21514d8981 685 #define GPIO_AF5_I2C1 ((uint8_t)0x05U) /*!< AF5: I2C1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 686 #define GPIO_AF5_I2C2 ((uint8_t)0x05U) /*!< AF5: I2C2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 687 #define GPIO_AF5_SPI2 ((uint8_t)0x05U) /*!< AF5: SPI2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 688 #define GPIO_AF5_TIM16 ((uint8_t)0x05U) /*!< AF5: TIM16 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 689 #define GPIO_AF5_TIM17 ((uint8_t)0x05U) /*!< AF5: TIM17 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 690 #define GPIO_AF5_USB ((uint8_t)0x05U) /*!< AF5: USB Alternate Function mapping */
AnnaBridge 156:ff21514d8981 691
AnnaBridge 156:ff21514d8981 692 /* AF 6 */
AnnaBridge 156:ff21514d8981 693 #define GPIO_AF6_EVENTOUT ((uint8_t)0x06U) /*!< AF6: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 694
AnnaBridge 156:ff21514d8981 695 #define IS_GPIO_AF(AF) ((AF) <= (uint8_t)0x06U)
AnnaBridge 156:ff21514d8981 696
AnnaBridge 156:ff21514d8981 697 #endif /* STM32F042x6 || STM32F048xx */
AnnaBridge 156:ff21514d8981 698
AnnaBridge 156:ff21514d8981 699 #if defined (STM32F070x6)
AnnaBridge 156:ff21514d8981 700 /*--------------------------------------- STM32F070x6 ----------------------------------------*/
AnnaBridge 156:ff21514d8981 701 /* AF 0 */
AnnaBridge 156:ff21514d8981 702 #define GPIO_AF0_EVENTOUT ((uint8_t)0x00U) /*!< AF0: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 703 #define GPIO_AF0_IR ((uint8_t)0x00U) /*!< AF0: IR Alternate Function mapping */
AnnaBridge 156:ff21514d8981 704 #define GPIO_AF0_MCO ((uint8_t)0x00U) /*!< AF0: MCO Alternate Function mapping */
AnnaBridge 156:ff21514d8981 705 #define GPIO_AF0_SPI1 ((uint8_t)0x00U) /*!< AF0: SPI1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 706 #define GPIO_AF0_SWDIO ((uint8_t)0x00U) /*!< AF0: SWDIO Alternate Function mapping */
AnnaBridge 156:ff21514d8981 707 #define GPIO_AF0_SWCLK ((uint8_t)0x00U) /*!< AF0: SWCLK Alternate Function mapping */
AnnaBridge 156:ff21514d8981 708 #define GPIO_AF0_TIM14 ((uint8_t)0x00U) /*!< AF0: TIM14 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 709 #define GPIO_AF0_TIM17 ((uint8_t)0x00U) /*!< AF0: TIM17 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 710 #define GPIO_AF0_USART1 ((uint8_t)0x00U) /*!< AF0: USART1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 711
AnnaBridge 156:ff21514d8981 712 /* AF 1 */
AnnaBridge 156:ff21514d8981 713 #define GPIO_AF1_EVENTOUT ((uint8_t)0x01U) /*!< AF1: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 714 #define GPIO_AF1_I2C1 ((uint8_t)0x01U) /*!< AF1: I2C1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 715 #define GPIO_AF1_IR ((uint8_t)0x01U) /*!< AF1: IR Alternate Function mapping */
AnnaBridge 156:ff21514d8981 716 #define GPIO_AF1_USART1 ((uint8_t)0x01U) /*!< AF1: USART1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 717 #define GPIO_AF1_USART2 ((uint8_t)0x01U) /*!< AF1: USART2 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 718 #define GPIO_AF1_TIM3 ((uint8_t)0x01U) /*!< AF1: TIM3 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 719
AnnaBridge 156:ff21514d8981 720 /* AF 2 */
AnnaBridge 156:ff21514d8981 721 #define GPIO_AF2_EVENTOUT ((uint8_t)0x02U) /*!< AF2: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 722 #define GPIO_AF2_TIM1 ((uint8_t)0x02U) /*!< AF2: TIM1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 723 #define GPIO_AF2_TIM16 ((uint8_t)0x02U) /*!< AF2: TIM16 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 724 #define GPIO_AF2_TIM17 ((uint8_t)0x02U) /*!< AF2: TIM17 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 725 #define GPIO_AF2_USB ((uint8_t)0x02U) /*!< AF2: USB Alternate Function mapping */
AnnaBridge 156:ff21514d8981 726
AnnaBridge 156:ff21514d8981 727 /* AF 3 */
AnnaBridge 156:ff21514d8981 728 #define GPIO_AF3_EVENTOUT ((uint8_t)0x03U) /*!< AF3: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 729 #define GPIO_AF3_I2C1 ((uint8_t)0x03U) /*!< AF3: I2C1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 730
AnnaBridge 156:ff21514d8981 731 /* AF 4 */
AnnaBridge 156:ff21514d8981 732 #define GPIO_AF4_TIM14 ((uint8_t)0x04U) /*!< AF4: TIM14 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 733 #define GPIO_AF4_I2C1 ((uint8_t)0x04U) /*!< AF4: I2C1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 734
AnnaBridge 156:ff21514d8981 735 /* AF 5 */
AnnaBridge 156:ff21514d8981 736 #define GPIO_AF5_MCO ((uint8_t)0x05U) /*!< AF5: MCO Alternate Function mapping */
AnnaBridge 156:ff21514d8981 737 #define GPIO_AF5_I2C1 ((uint8_t)0x05U) /*!< AF5: I2C1 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 738 #define GPIO_AF5_TIM16 ((uint8_t)0x05U) /*!< AF5: TIM16 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 739 #define GPIO_AF5_TIM17 ((uint8_t)0x05U) /*!< AF5: TIM17 Alternate Function mapping */
AnnaBridge 156:ff21514d8981 740 #define GPIO_AF5_USB ((uint8_t)0x05U) /*!< AF5: USB Alternate Function mapping */
AnnaBridge 156:ff21514d8981 741
AnnaBridge 156:ff21514d8981 742 /* AF 6 */
AnnaBridge 156:ff21514d8981 743 #define GPIO_AF6_EVENTOUT ((uint8_t)0x06U) /*!< AF6: EVENTOUT Alternate Function mapping */
AnnaBridge 156:ff21514d8981 744
AnnaBridge 156:ff21514d8981 745 #define IS_GPIO_AF(AF) ((AF) <= (uint8_t)0x06U)
AnnaBridge 156:ff21514d8981 746
AnnaBridge 156:ff21514d8981 747 #endif /* STM32F070x6 */
AnnaBridge 156:ff21514d8981 748 /**
AnnaBridge 156:ff21514d8981 749 * @}
AnnaBridge 156:ff21514d8981 750 */
AnnaBridge 156:ff21514d8981 751
AnnaBridge 156:ff21514d8981 752 /**
AnnaBridge 156:ff21514d8981 753 * @}
AnnaBridge 156:ff21514d8981 754 */
AnnaBridge 156:ff21514d8981 755
AnnaBridge 156:ff21514d8981 756 /* Exported macro ------------------------------------------------------------*/
AnnaBridge 156:ff21514d8981 757 /** @defgroup GPIOEx_Exported_Macros GPIOEx Exported Macros
AnnaBridge 156:ff21514d8981 758 * @{
AnnaBridge 156:ff21514d8981 759 */
AnnaBridge 156:ff21514d8981 760
AnnaBridge 156:ff21514d8981 761 /** @defgroup GPIOEx_Get_Port_Index GPIOEx_Get Port Index
AnnaBridge 156:ff21514d8981 762 * @{
AnnaBridge 156:ff21514d8981 763 */
AnnaBridge 156:ff21514d8981 764 #if defined(GPIOD) && defined(GPIOE)
AnnaBridge 156:ff21514d8981 765 #define GPIO_GET_INDEX(__GPIOx__) (((__GPIOx__) == (GPIOA))? 0U :\
AnnaBridge 156:ff21514d8981 766 ((__GPIOx__) == (GPIOB))? 1U :\
AnnaBridge 156:ff21514d8981 767 ((__GPIOx__) == (GPIOC))? 2U :\
AnnaBridge 156:ff21514d8981 768 ((__GPIOx__) == (GPIOD))? 3U :\
AnnaBridge 156:ff21514d8981 769 ((__GPIOx__) == (GPIOE))? 4U : 5U)
AnnaBridge 156:ff21514d8981 770 #endif
AnnaBridge 156:ff21514d8981 771
AnnaBridge 156:ff21514d8981 772 #if defined(GPIOD) && !defined(GPIOE)
AnnaBridge 156:ff21514d8981 773 #define GPIO_GET_INDEX(__GPIOx__) (((__GPIOx__) == (GPIOA))? 0U :\
AnnaBridge 156:ff21514d8981 774 ((__GPIOx__) == (GPIOB))? 1U :\
AnnaBridge 156:ff21514d8981 775 ((__GPIOx__) == (GPIOC))? 2U :\
AnnaBridge 156:ff21514d8981 776 ((__GPIOx__) == (GPIOD))? 3U : 5U)
AnnaBridge 156:ff21514d8981 777 #endif
AnnaBridge 156:ff21514d8981 778
AnnaBridge 156:ff21514d8981 779 #if !defined(GPIOD) && defined(GPIOE)
AnnaBridge 156:ff21514d8981 780 #define GPIO_GET_INDEX(__GPIOx__) (((__GPIOx__) == (GPIOA))? 0U :\
AnnaBridge 156:ff21514d8981 781 ((__GPIOx__) == (GPIOB))? 1U :\
AnnaBridge 156:ff21514d8981 782 ((__GPIOx__) == (GPIOC))? 2U :\
AnnaBridge 156:ff21514d8981 783 ((__GPIOx__) == (GPIOE))? 4U : 5U)
AnnaBridge 156:ff21514d8981 784 #endif
AnnaBridge 156:ff21514d8981 785
AnnaBridge 156:ff21514d8981 786 #if !defined(GPIOD) && !defined(GPIOE)
AnnaBridge 156:ff21514d8981 787 #define GPIO_GET_INDEX(__GPIOx__) (((__GPIOx__) == (GPIOA))? 0U :\
AnnaBridge 156:ff21514d8981 788 ((__GPIOx__) == (GPIOB))? 1U :\
AnnaBridge 156:ff21514d8981 789 ((__GPIOx__) == (GPIOC))? 2U : 5U)
AnnaBridge 156:ff21514d8981 790 #endif
AnnaBridge 156:ff21514d8981 791
AnnaBridge 156:ff21514d8981 792 /**
AnnaBridge 156:ff21514d8981 793 * @}
AnnaBridge 156:ff21514d8981 794 */
AnnaBridge 156:ff21514d8981 795
AnnaBridge 156:ff21514d8981 796 /**
AnnaBridge 156:ff21514d8981 797 * @}
AnnaBridge 156:ff21514d8981 798 */
AnnaBridge 156:ff21514d8981 799
AnnaBridge 156:ff21514d8981 800 /* Exported functions --------------------------------------------------------*/
AnnaBridge 156:ff21514d8981 801 /**
AnnaBridge 156:ff21514d8981 802 * @}
AnnaBridge 156:ff21514d8981 803 */
AnnaBridge 156:ff21514d8981 804
AnnaBridge 156:ff21514d8981 805 /**
AnnaBridge 156:ff21514d8981 806 * @}
AnnaBridge 156:ff21514d8981 807 */
AnnaBridge 156:ff21514d8981 808
AnnaBridge 156:ff21514d8981 809 #ifdef __cplusplus
AnnaBridge 156:ff21514d8981 810 }
AnnaBridge 156:ff21514d8981 811 #endif
AnnaBridge 156:ff21514d8981 812
AnnaBridge 156:ff21514d8981 813 #endif /* __STM32F0xx_HAL_GPIO_EX_H */
AnnaBridge 156:ff21514d8981 814
AnnaBridge 156:ff21514d8981 815 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
AnnaBridge 156:ff21514d8981 816