18#ifndef __ST_HAL_GPIO_H__
19#define __ST_HAL_GPIO_H__
25#if defined(HAL_GPIO_MODULE_ENABLED) && VSF_HAL_USE_GPIO == ENABLED
33#define GPIO_PIN_0 ((uint16_t)0x0001)
34#define GPIO_PIN_1 ((uint16_t)0x0002)
35#define GPIO_PIN_2 ((uint16_t)0x0004)
36#define GPIO_PIN_3 ((uint16_t)0x0008)
37#define GPIO_PIN_4 ((uint16_t)0x0010)
38#define GPIO_PIN_5 ((uint16_t)0x0020)
39#define GPIO_PIN_6 ((uint16_t)0x0040)
40#define GPIO_PIN_7 ((uint16_t)0x0080)
41#define GPIO_PIN_8 ((uint16_t)0x0100)
42#define GPIO_PIN_9 ((uint16_t)0x0200)
43#define GPIO_PIN_10 ((uint16_t)0x0400)
44#define GPIO_PIN_11 ((uint16_t)0x0800)
45#define GPIO_PIN_12 ((uint16_t)0x1000)
46#define GPIO_PIN_13 ((uint16_t)0x2000)
47#define GPIO_PIN_14 ((uint16_t)0x4000)
48#define GPIO_PIN_15 ((uint16_t)0x8000)
49#define GPIO_PIN_All ((uint16_t)0xFFFF)
51#define GPIO_PIN_MASK 0x0000FFFFU
53#define GPIO_MODE_INPUT VSF_GPIO_INPUT
54#define GPIO_MODE_OUTPUT_PP VSF_GPIO_OUTPUT_PUSH_PULL
55#define GPIO_MODE_OUTPUT_OD VSF_GPIO_OUTPUT_OPEN_DRAIN
57#define GPIO_MODE_AF_PP VSF_GPIO_AF_PUSH_PULL
58#define GPIO_MODE_AF_OD VSF_GPIO_AF_OPEN_DRAIN
60#define GPIO_MODE_ANALOG VSF_GPIO_ANALOG
62#define GPIO_MODE_IT_RISING (VSF_GPIO_EXTI | VSF_GPIO_EXTI_MODE_RISING)
63#define GPIO_MODE_IT_FALLING (VSF_GPIO_EXTI | VSF_GPIO_EXTI_MODE_FALLING)
64#define GPIO_MODE_IT_RISING_FALLING \
65 (VSF_GPIO_EXTI | VSF_GPIO_EXTI_MODE_RISING_FALLING)
67#define GPIO_NOPULL VSF_GPIO_NO_PULL_UP_DOWN
68#define GPIO_PULLUP VSF_GPIO_PULL_UP
69#define GPIO_PULLDOWN VSF_GPIO_PULL_DOWN
71#if defined(VSF_GPIO_SPEED_MASK)
72# if define VSF_GPIO_SPEED_LOW
73# define GPIO_SPEED_FREQ_LOW VSF_GPIO_SPEED_LOW
75# if define VSF_GPIO_SPEED_MEDIUM
76# define GPIO_SPEED_FREQ_MEDIUM VSF_GPIO_SPEED_MEDIUM
78# if define VSF_GPIO_SPEED_HIGH
79# define GPIO_SPEED_FREQ_HIGH VSF_GPIO_SPEED_HIGH
81# if define VSF_GPIO_SPEED_VERY_HIGH
82# define GPIO_SPEED_FREQ_VERY_HIGH VSF_GPIO_SPEED_VERY_HIGH
86#ifndef GPIO_SPEED_FREQ_LOW
87# define GPIO_SPEED_FREQ_LOW 0
89#ifndef GPIO_SPEED_FREQ_MEDIUM
90# define GPIO_SPEED_FREQ_MEDIUM 0
92#ifndef GPIO_SPEED_FREQ_HIGH
93# define GPIO_SPEED_FREQ_HIGH 0
95#ifndef GPIO_SPEED_FREQ_VERY_HIGH
96# define GPIO_SPEED_FGPIO_SPEED_FREQ_VERY_HIGHREQ_LOW 0
104typedef struct GPIO_InitTypeDef {
120void HAL_GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_Init);
124 GPIO_PinState PinState);
unsigned short uint16_t
Definition stdint.h:7
unsigned uint32_t
Definition stdint.h:9
HAL_StatusTypeDef
Definition sthal_def.h:61
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
Definition sthal_gpio.c:44
void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init)
Definition sthal_gpio.c:56
void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin)
Definition sthal_gpio.c:120
HAL_StatusTypeDef HAL_GPIO_LockPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
Definition sthal_gpio.c:114
GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
Definition sthal_gpio.c:89
void HAL_GPIO_WritePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState)
Definition sthal_gpio.c:97
void HAL_GPIO_TogglePin(GPIO_TypeDef *GPIOx, uint16_t GPIO_Pin)
Definition sthal_gpio.c:106
void HAL_GPIO_DeInit(GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin)
Definition sthal_gpio.c:77
Definition vsf_template_gpio.h:720