.

Dependents:   RTC

Committer:
jhon309
Date:
Thu Aug 13 00:20:09 2015 +0000
Revision:
0:88e313c910d0
RTC Example

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jhon309 0:88e313c910d0 1 /**
jhon309 0:88e313c910d0 2 ******************************************************************************
jhon309 0:88e313c910d0 3 * @file stm32f0xx_hal_gpio.h
jhon309 0:88e313c910d0 4 * @author MCD Application Team
jhon309 0:88e313c910d0 5 * @version V1.2.0
jhon309 0:88e313c910d0 6 * @date 11-December-2014
jhon309 0:88e313c910d0 7 * @brief Header file of GPIO HAL module.
jhon309 0:88e313c910d0 8 ******************************************************************************
jhon309 0:88e313c910d0 9 * @attention
jhon309 0:88e313c910d0 10 *
jhon309 0:88e313c910d0 11 * <h2><center>&copy; COPYRIGHT(c) 2014 STMicroelectronics</center></h2>
jhon309 0:88e313c910d0 12 *
jhon309 0:88e313c910d0 13 * Redistribution and use in source and binary forms, with or without modification,
jhon309 0:88e313c910d0 14 * are permitted provided that the following conditions are met:
jhon309 0:88e313c910d0 15 * 1. Redistributions of source code must retain the above copyright notice,
jhon309 0:88e313c910d0 16 * this list of conditions and the following disclaimer.
jhon309 0:88e313c910d0 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
jhon309 0:88e313c910d0 18 * this list of conditions and the following disclaimer in the documentation
jhon309 0:88e313c910d0 19 * and/or other materials provided with the distribution.
jhon309 0:88e313c910d0 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
jhon309 0:88e313c910d0 21 * may be used to endorse or promote products derived from this software
jhon309 0:88e313c910d0 22 * without specific prior written permission.
jhon309 0:88e313c910d0 23 *
jhon309 0:88e313c910d0 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
jhon309 0:88e313c910d0 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
jhon309 0:88e313c910d0 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
jhon309 0:88e313c910d0 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
jhon309 0:88e313c910d0 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
jhon309 0:88e313c910d0 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
jhon309 0:88e313c910d0 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
jhon309 0:88e313c910d0 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
jhon309 0:88e313c910d0 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
jhon309 0:88e313c910d0 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
jhon309 0:88e313c910d0 34 *
jhon309 0:88e313c910d0 35 ******************************************************************************
jhon309 0:88e313c910d0 36 */
jhon309 0:88e313c910d0 37
jhon309 0:88e313c910d0 38 /* Define to prevent recursive inclusion -------------------------------------*/
jhon309 0:88e313c910d0 39 #ifndef __STM32F0xx_HAL_GPIO_H
jhon309 0:88e313c910d0 40 #define __STM32F0xx_HAL_GPIO_H
jhon309 0:88e313c910d0 41
jhon309 0:88e313c910d0 42 #ifdef __cplusplus
jhon309 0:88e313c910d0 43 extern "C" {
jhon309 0:88e313c910d0 44 #endif
jhon309 0:88e313c910d0 45
jhon309 0:88e313c910d0 46 /* Includes ------------------------------------------------------------------*/
jhon309 0:88e313c910d0 47 #include "stm32f0xx_hal_def.h"
jhon309 0:88e313c910d0 48
jhon309 0:88e313c910d0 49 /** @addtogroup STM32F0xx_HAL_Driver
jhon309 0:88e313c910d0 50 * @{
jhon309 0:88e313c910d0 51 */
jhon309 0:88e313c910d0 52
jhon309 0:88e313c910d0 53 /** @addtogroup GPIO
jhon309 0:88e313c910d0 54 * @{
jhon309 0:88e313c910d0 55 */
jhon309 0:88e313c910d0 56
jhon309 0:88e313c910d0 57 /* Exported types ------------------------------------------------------------*/
jhon309 0:88e313c910d0 58
jhon309 0:88e313c910d0 59 /** @defgroup GPIO_Exported_Types GPIO Exported Types
jhon309 0:88e313c910d0 60 * @{
jhon309 0:88e313c910d0 61 */
jhon309 0:88e313c910d0 62 /**
jhon309 0:88e313c910d0 63 * @brief GPIO Init structure definition
jhon309 0:88e313c910d0 64 */
jhon309 0:88e313c910d0 65 typedef struct
jhon309 0:88e313c910d0 66 {
jhon309 0:88e313c910d0 67 uint32_t Pin; /*!< Specifies the GPIO pins to be configured.
jhon309 0:88e313c910d0 68 This parameter can be any value of @ref GPIO_pins */
jhon309 0:88e313c910d0 69
jhon309 0:88e313c910d0 70 uint32_t Mode; /*!< Specifies the operating mode for the selected pins.
jhon309 0:88e313c910d0 71 This parameter can be a value of @ref GPIO_mode */
jhon309 0:88e313c910d0 72
jhon309 0:88e313c910d0 73 uint32_t Pull; /*!< Specifies the Pull-up or Pull-Down activation for the selected pins.
jhon309 0:88e313c910d0 74 This parameter can be a value of @ref GPIO_pull */
jhon309 0:88e313c910d0 75
jhon309 0:88e313c910d0 76 uint32_t Speed; /*!< Specifies the speed for the selected pins.
jhon309 0:88e313c910d0 77 This parameter can be a value of @ref GPIO_speed */
jhon309 0:88e313c910d0 78
jhon309 0:88e313c910d0 79 uint32_t Alternate; /*!< Peripheral to be connected to the selected pins
jhon309 0:88e313c910d0 80 This parameter can be a value of @ref GPIOEx_Alternate_function_selection */
jhon309 0:88e313c910d0 81 }GPIO_InitTypeDef;
jhon309 0:88e313c910d0 82
jhon309 0:88e313c910d0 83 /**
jhon309 0:88e313c910d0 84 * @brief GPIO Bit SET and Bit RESET enumeration
jhon309 0:88e313c910d0 85 */
jhon309 0:88e313c910d0 86 typedef enum
jhon309 0:88e313c910d0 87 {
jhon309 0:88e313c910d0 88 GPIO_PIN_RESET = 0,
jhon309 0:88e313c910d0 89 GPIO_PIN_SET
jhon309 0:88e313c910d0 90 }GPIO_PinState;
jhon309 0:88e313c910d0 91 /**
jhon309 0:88e313c910d0 92 * @}
jhon309 0:88e313c910d0 93 */
jhon309 0:88e313c910d0 94
jhon309 0:88e313c910d0 95 /* Exported constants --------------------------------------------------------*/
jhon309 0:88e313c910d0 96
jhon309 0:88e313c910d0 97 /** @defgroup GPIO_Exported_Constants GPIO Exported Constants
jhon309 0:88e313c910d0 98 * @{
jhon309 0:88e313c910d0 99 */
jhon309 0:88e313c910d0 100
jhon309 0:88e313c910d0 101 /** @defgroup GPIO_pin_actions GPIO pin actions
jhon309 0:88e313c910d0 102 * @{
jhon309 0:88e313c910d0 103 */
jhon309 0:88e313c910d0 104 #define IS_GPIO_PIN_ACTION(ACTION) (((ACTION) == GPIO_PIN_RESET) || ((ACTION) == GPIO_PIN_SET))
jhon309 0:88e313c910d0 105 /**
jhon309 0:88e313c910d0 106 * @}
jhon309 0:88e313c910d0 107 */
jhon309 0:88e313c910d0 108
jhon309 0:88e313c910d0 109 /** @defgroup GPIO_pins GPIO pins
jhon309 0:88e313c910d0 110 * @{
jhon309 0:88e313c910d0 111 */
jhon309 0:88e313c910d0 112 #define GPIO_PIN_0 ((uint16_t)0x0001) /* Pin 0 selected */
jhon309 0:88e313c910d0 113 #define GPIO_PIN_1 ((uint16_t)0x0002) /* Pin 1 selected */
jhon309 0:88e313c910d0 114 #define GPIO_PIN_2 ((uint16_t)0x0004) /* Pin 2 selected */
jhon309 0:88e313c910d0 115 #define GPIO_PIN_3 ((uint16_t)0x0008) /* Pin 3 selected */
jhon309 0:88e313c910d0 116 #define GPIO_PIN_4 ((uint16_t)0x0010) /* Pin 4 selected */
jhon309 0:88e313c910d0 117 #define GPIO_PIN_5 ((uint16_t)0x0020) /* Pin 5 selected */
jhon309 0:88e313c910d0 118 #define GPIO_PIN_6 ((uint16_t)0x0040) /* Pin 6 selected */
jhon309 0:88e313c910d0 119 #define GPIO_PIN_7 ((uint16_t)0x0080) /* Pin 7 selected */
jhon309 0:88e313c910d0 120 #define GPIO_PIN_8 ((uint16_t)0x0100) /* Pin 8 selected */
jhon309 0:88e313c910d0 121 #define GPIO_PIN_9 ((uint16_t)0x0200) /* Pin 9 selected */
jhon309 0:88e313c910d0 122 #define GPIO_PIN_10 ((uint16_t)0x0400) /* Pin 10 selected */
jhon309 0:88e313c910d0 123 #define GPIO_PIN_11 ((uint16_t)0x0800) /* Pin 11 selected */
jhon309 0:88e313c910d0 124 #define GPIO_PIN_12 ((uint16_t)0x1000) /* Pin 12 selected */
jhon309 0:88e313c910d0 125 #define GPIO_PIN_13 ((uint16_t)0x2000) /* Pin 13 selected */
jhon309 0:88e313c910d0 126 #define GPIO_PIN_14 ((uint16_t)0x4000) /* Pin 14 selected */
jhon309 0:88e313c910d0 127 #define GPIO_PIN_15 ((uint16_t)0x8000) /* Pin 15 selected */
jhon309 0:88e313c910d0 128 #define GPIO_PIN_All ((uint16_t)0xFFFF) /* All pins selected */
jhon309 0:88e313c910d0 129
jhon309 0:88e313c910d0 130 #define GPIO_PIN_MASK ((uint32_t)0x0000FFFF) /* PIN mask for assert test */
jhon309 0:88e313c910d0 131
jhon309 0:88e313c910d0 132 #define IS_GPIO_PIN(PIN) (((PIN) & GPIO_PIN_MASK) != (uint32_t)0x00)
jhon309 0:88e313c910d0 133 /**
jhon309 0:88e313c910d0 134 * @}
jhon309 0:88e313c910d0 135 */
jhon309 0:88e313c910d0 136
jhon309 0:88e313c910d0 137 /** @defgroup GPIO_mode GPIO mode
jhon309 0:88e313c910d0 138 * @brief GPIO Configuration Mode
jhon309 0:88e313c910d0 139 * Elements values convention: 0xX0yz00YZ
jhon309 0:88e313c910d0 140 * - X : GPIO mode or EXTI Mode
jhon309 0:88e313c910d0 141 * - y : External IT or Event trigger detection
jhon309 0:88e313c910d0 142 * - z : IO configuration on External IT or Event
jhon309 0:88e313c910d0 143 * - Y : Output type (Push Pull or Open Drain)
jhon309 0:88e313c910d0 144 * - Z : IO Direction mode (Input, Output, Alternate or Analog)
jhon309 0:88e313c910d0 145 * @{
jhon309 0:88e313c910d0 146 */
jhon309 0:88e313c910d0 147 #define GPIO_MODE_INPUT ((uint32_t)0x00000000) /*!< Input Floating Mode */
jhon309 0:88e313c910d0 148 #define GPIO_MODE_OUTPUT_PP ((uint32_t)0x00000001) /*!< Output Push Pull Mode */
jhon309 0:88e313c910d0 149 #define GPIO_MODE_OUTPUT_OD ((uint32_t)0x00000011) /*!< Output Open Drain Mode */
jhon309 0:88e313c910d0 150 #define GPIO_MODE_AF_PP ((uint32_t)0x00000002) /*!< Alternate Function Push Pull Mode */
jhon309 0:88e313c910d0 151 #define GPIO_MODE_AF_OD ((uint32_t)0x00000012) /*!< Alternate Function Open Drain Mode */
jhon309 0:88e313c910d0 152
jhon309 0:88e313c910d0 153 #define GPIO_MODE_ANALOG ((uint32_t)0x00000003) /*!< Analog Mode */
jhon309 0:88e313c910d0 154
jhon309 0:88e313c910d0 155 #define GPIO_MODE_IT_RISING ((uint32_t)0x10110000) /*!< External Interrupt Mode with Rising edge trigger detection */
jhon309 0:88e313c910d0 156 #define GPIO_MODE_IT_FALLING ((uint32_t)0x10210000) /*!< External Interrupt Mode with Falling edge trigger detection */
jhon309 0:88e313c910d0 157 #define GPIO_MODE_IT_RISING_FALLING ((uint32_t)0x10310000) /*!< External Interrupt Mode with Rising/Falling edge trigger detection */
jhon309 0:88e313c910d0 158
jhon309 0:88e313c910d0 159 #define GPIO_MODE_EVT_RISING ((uint32_t)0x10120000) /*!< External Event Mode with Rising edge trigger detection */
jhon309 0:88e313c910d0 160 #define GPIO_MODE_EVT_FALLING ((uint32_t)0x10220000) /*!< External Event Mode with Falling edge trigger detection */
jhon309 0:88e313c910d0 161 #define GPIO_MODE_EVT_RISING_FALLING ((uint32_t)0x10320000) /*!< External Event Mode with Rising/Falling edge trigger detection */
jhon309 0:88e313c910d0 162
jhon309 0:88e313c910d0 163 #define IS_GPIO_MODE(MODE) (((MODE) == GPIO_MODE_INPUT) ||\
jhon309 0:88e313c910d0 164 ((MODE) == GPIO_MODE_OUTPUT_PP) ||\
jhon309 0:88e313c910d0 165 ((MODE) == GPIO_MODE_OUTPUT_OD) ||\
jhon309 0:88e313c910d0 166 ((MODE) == GPIO_MODE_AF_PP) ||\
jhon309 0:88e313c910d0 167 ((MODE) == GPIO_MODE_AF_OD) ||\
jhon309 0:88e313c910d0 168 ((MODE) == GPIO_MODE_IT_RISING) ||\
jhon309 0:88e313c910d0 169 ((MODE) == GPIO_MODE_IT_FALLING) ||\
jhon309 0:88e313c910d0 170 ((MODE) == GPIO_MODE_IT_RISING_FALLING) ||\
jhon309 0:88e313c910d0 171 ((MODE) == GPIO_MODE_EVT_RISING) ||\
jhon309 0:88e313c910d0 172 ((MODE) == GPIO_MODE_EVT_FALLING) ||\
jhon309 0:88e313c910d0 173 ((MODE) == GPIO_MODE_EVT_RISING_FALLING) ||\
jhon309 0:88e313c910d0 174 ((MODE) == GPIO_MODE_ANALOG))
jhon309 0:88e313c910d0 175
jhon309 0:88e313c910d0 176 /**
jhon309 0:88e313c910d0 177 * @}
jhon309 0:88e313c910d0 178 */
jhon309 0:88e313c910d0 179
jhon309 0:88e313c910d0 180 /** @defgroup GPIO_speed GPIO speed
jhon309 0:88e313c910d0 181 * @brief GPIO Output Maximum frequency
jhon309 0:88e313c910d0 182 * @{
jhon309 0:88e313c910d0 183 */
jhon309 0:88e313c910d0 184 #define GPIO_SPEED_LOW ((uint32_t)0x00000000) /*!< Low speed */
jhon309 0:88e313c910d0 185 #define GPIO_SPEED_MEDIUM ((uint32_t)0x00000001) /*!< Medium speed */
jhon309 0:88e313c910d0 186 #define GPIO_SPEED_HIGH ((uint32_t)0x00000003) /*!< High speed */
jhon309 0:88e313c910d0 187
jhon309 0:88e313c910d0 188 #define IS_GPIO_SPEED(SPEED) (((SPEED) == GPIO_SPEED_LOW) || ((SPEED) == GPIO_SPEED_MEDIUM) || \
jhon309 0:88e313c910d0 189 ((SPEED) == GPIO_SPEED_HIGH))
jhon309 0:88e313c910d0 190 /**
jhon309 0:88e313c910d0 191 * @}
jhon309 0:88e313c910d0 192 */
jhon309 0:88e313c910d0 193
jhon309 0:88e313c910d0 194 /** @defgroup GPIO_pull GPIO pull
jhon309 0:88e313c910d0 195 * @brief GPIO Pull-Up or Pull-Down Activation
jhon309 0:88e313c910d0 196 * @{
jhon309 0:88e313c910d0 197 */
jhon309 0:88e313c910d0 198 #define GPIO_NOPULL ((uint32_t)0x00000000) /*!< No Pull-up or Pull-down activation */
jhon309 0:88e313c910d0 199 #define GPIO_PULLUP ((uint32_t)0x00000001) /*!< Pull-up activation */
jhon309 0:88e313c910d0 200 #define GPIO_PULLDOWN ((uint32_t)0x00000002) /*!< Pull-down activation */
jhon309 0:88e313c910d0 201
jhon309 0:88e313c910d0 202 #define IS_GPIO_PULL(PULL) (((PULL) == GPIO_NOPULL) || ((PULL) == GPIO_PULLUP) || \
jhon309 0:88e313c910d0 203 ((PULL) == GPIO_PULLDOWN))
jhon309 0:88e313c910d0 204 /**
jhon309 0:88e313c910d0 205 * @}
jhon309 0:88e313c910d0 206 */
jhon309 0:88e313c910d0 207
jhon309 0:88e313c910d0 208 /**
jhon309 0:88e313c910d0 209 * @}
jhon309 0:88e313c910d0 210 */
jhon309 0:88e313c910d0 211
jhon309 0:88e313c910d0 212 /* Exported macro ------------------------------------------------------------*/
jhon309 0:88e313c910d0 213
jhon309 0:88e313c910d0 214 /** @defgroup GPIO_Exported_Macros GPIO Exported Macros
jhon309 0:88e313c910d0 215 * @{
jhon309 0:88e313c910d0 216 */
jhon309 0:88e313c910d0 217
jhon309 0:88e313c910d0 218 /**
jhon309 0:88e313c910d0 219 * @brief Checks whether the specified EXTI line flag is set or not.
jhon309 0:88e313c910d0 220 * @param __EXTI_LINE__: specifies the EXTI line flag to check.
jhon309 0:88e313c910d0 221 * This parameter can be GPIO_PIN_x where x can be(0..15)
jhon309 0:88e313c910d0 222 * @retval The new state of __EXTI_LINE__ (SET or RESET).
jhon309 0:88e313c910d0 223 */
jhon309 0:88e313c910d0 224 #define __HAL_GPIO_EXTI_GET_FLAG(__EXTI_LINE__) (EXTI->PR & (__EXTI_LINE__))
jhon309 0:88e313c910d0 225
jhon309 0:88e313c910d0 226 /**
jhon309 0:88e313c910d0 227 * @brief Clears the EXTI's line pending flags.
jhon309 0:88e313c910d0 228 * @param __EXTI_LINE__: specifies the EXTI lines flags to clear.
jhon309 0:88e313c910d0 229 * This parameter can be any combination of GPIO_PIN_x where x can be (0..15)
jhon309 0:88e313c910d0 230 * @retval None
jhon309 0:88e313c910d0 231 */
jhon309 0:88e313c910d0 232 #define __HAL_GPIO_EXTI_CLEAR_FLAG(__EXTI_LINE__) (EXTI->PR = (__EXTI_LINE__))
jhon309 0:88e313c910d0 233
jhon309 0:88e313c910d0 234 /**
jhon309 0:88e313c910d0 235 * @brief Checks whether the specified EXTI line is asserted or not.
jhon309 0:88e313c910d0 236 * @param __EXTI_LINE__: specifies the EXTI line to check.
jhon309 0:88e313c910d0 237 * This parameter can be GPIO_PIN_x where x can be(0..15)
jhon309 0:88e313c910d0 238 * @retval The new state of __EXTI_LINE__ (SET or RESET).
jhon309 0:88e313c910d0 239 */
jhon309 0:88e313c910d0 240 #define __HAL_GPIO_EXTI_GET_IT(__EXTI_LINE__) (EXTI->PR & (__EXTI_LINE__))
jhon309 0:88e313c910d0 241
jhon309 0:88e313c910d0 242 /**
jhon309 0:88e313c910d0 243 * @brief Clears the EXTI's line pending bits.
jhon309 0:88e313c910d0 244 * @param __EXTI_LINE__: specifies the EXTI lines to clear.
jhon309 0:88e313c910d0 245 * This parameter can be any combination of GPIO_PIN_x where x can be (0..15)
jhon309 0:88e313c910d0 246 * @retval None
jhon309 0:88e313c910d0 247 */
jhon309 0:88e313c910d0 248 #define __HAL_GPIO_EXTI_CLEAR_IT(__EXTI_LINE__) (EXTI->PR = (__EXTI_LINE__))
jhon309 0:88e313c910d0 249
jhon309 0:88e313c910d0 250 /**
jhon309 0:88e313c910d0 251 * @brief Generates a Software interrupt on selected EXTI line.
jhon309 0:88e313c910d0 252 * @param __EXTI_LINE__: specifies the EXTI line to check.
jhon309 0:88e313c910d0 253 * This parameter can be GPIO_PIN_x where x can be(0..15)
jhon309 0:88e313c910d0 254 * @retval None
jhon309 0:88e313c910d0 255 */
jhon309 0:88e313c910d0 256 #define __HAL_GPIO_EXTI_GENERATE_SWIT(__EXTI_LINE__) (EXTI->SWIER |= (__EXTI_LINE__))
jhon309 0:88e313c910d0 257
jhon309 0:88e313c910d0 258 /**
jhon309 0:88e313c910d0 259 * @}
jhon309 0:88e313c910d0 260 */
jhon309 0:88e313c910d0 261
jhon309 0:88e313c910d0 262 /* Include GPIO HAL Extension module */
jhon309 0:88e313c910d0 263 #include "stm32f0xx_hal_gpio_ex.h"
jhon309 0:88e313c910d0 264
jhon309 0:88e313c910d0 265 /* Exported functions --------------------------------------------------------*/
jhon309 0:88e313c910d0 266 /** @addtogroup GPIO_Exported_Functions GPIO Exported Functions
jhon309 0:88e313c910d0 267 * @{
jhon309 0:88e313c910d0 268 */
jhon309 0:88e313c910d0 269
jhon309 0:88e313c910d0 270 /** @addtogroup GPIO_Exported_Functions_Group1 Initialization/de-initialization functions
jhon309 0:88e313c910d0 271 * @brief Initialization and Configuration functions
jhon309 0:88e313c910d0 272 * @{
jhon309 0:88e313c910d0 273 */
jhon309 0:88e313c910d0 274
jhon309 0:88e313c910d0 275 /* Initialization and de-initialization functions *****************************/
jhon309 0:88e313c910d0 276 void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init);
jhon309 0:88e313c910d0 277 void HAL_GPIO_DeInit(GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin);
jhon309 0:88e313c910d0 278
jhon309 0:88e313c910d0 279 /**
jhon309 0:88e313c910d0 280 * @}
jhon309 0:88e313c910d0 281 */
jhon309 0:88e313c910d0 282
jhon309 0:88e313c910d0 283 /** @addtogroup GPIO_Exported_Functions_Group2 IO operation functions
jhon309 0:88e313c910d0 284 * @{
jhon309 0:88e313c910d0 285 */
jhon309 0:88e313c910d0 286
jhon309 0:88e313c910d0 287 /* IO operation functions *****************************************************/
jhon309 0:88e313c910d0 288 GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
jhon309 0:88e313c910d0 289 void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState);
jhon309 0:88e313c910d0 290 void HAL_GPIO_TogglePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
jhon309 0:88e313c910d0 291 HAL_StatusTypeDef HAL_GPIO_LockPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);
jhon309 0:88e313c910d0 292 void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin);
jhon309 0:88e313c910d0 293 void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin);
jhon309 0:88e313c910d0 294
jhon309 0:88e313c910d0 295 /**
jhon309 0:88e313c910d0 296 * @}
jhon309 0:88e313c910d0 297 */
jhon309 0:88e313c910d0 298
jhon309 0:88e313c910d0 299 /**
jhon309 0:88e313c910d0 300 * @}
jhon309 0:88e313c910d0 301 */
jhon309 0:88e313c910d0 302
jhon309 0:88e313c910d0 303 /**
jhon309 0:88e313c910d0 304 * @}
jhon309 0:88e313c910d0 305 */
jhon309 0:88e313c910d0 306
jhon309 0:88e313c910d0 307 /**
jhon309 0:88e313c910d0 308 * @}
jhon309 0:88e313c910d0 309 */
jhon309 0:88e313c910d0 310
jhon309 0:88e313c910d0 311 #ifdef __cplusplus
jhon309 0:88e313c910d0 312 }
jhon309 0:88e313c910d0 313 #endif
jhon309 0:88e313c910d0 314
jhon309 0:88e313c910d0 315 #endif /* __STM32F0xx_HAL_GPIO_H */
jhon309 0:88e313c910d0 316
jhon309 0:88e313c910d0 317 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
jhon309 0:88e313c910d0 318