VSF Documented
Macros | Typedefs | Enumerations | Functions
gpio.h File Reference
#include "hal/vsf_hal_cfg.h"
#include "../../__device.h"

Go to the source code of this file.

Macros

#define VSF_GPIO_CFG_REIMPLEMENT_TYPE_MODE   ENABLED
 
#define VSF_GPIO_SPEED_LOW   VSF_GPIO_SPEED_12MHZ
 
#define VSF_GPIO_SPEED_MEDIUM   VSF_GPIO_SPEED_60MHZ
 
#define VSF_GPIO_SPEED_HIGH   VSF_GPIO_SPEED_85MHZ
 
#define VSF_GPIO_SPEED_VERY_HIGH   VSF_GPIO_SPEED_100MHZ_220MHZ
 
#define VSF_GPIO_SPEED_MASK   VSF_GPIO_SPEED_MASK
 

Typedefs

typedef enum vsf_gpio_mode_t vsf_gpio_mode_t
 
typedef struct vsf_hw_gpio_t vsf_hw_gpio_t
 

Enumerations

enum  vsf_gpio_mode_t {
  VSF_GPIO_INPUT = (0 << 0) ,
  VSF_GPIO_ANALOG = (3 << 0) ,
  VSF_GPIO_OUTPUT_PUSH_PULL = (1 << 0) | (0 << 2) ,
  VSF_GPIO_OUTPUT_OPEN_DRAIN = (1 << 0) | (1 << 2) ,
  VSF_GPIO_AF = (2 << 0) ,
  VSF_GPIO_AF_PUSH_PULL = (2 << 0) | (0 << 2) ,
  VSF_GPIO_AF_OPEN_DRAIN = (2 << 0) | (1 << 2) ,
  VSF_GPIO_EXTI = VSF_GPIO_INPUT ,
  VSF_GPIO_NO_PULL_UP_DOWN = (0 << 3) ,
  VSF_GPIO_PULL_UP = (1 << 3) ,
  VSF_GPIO_PULL_DOWN = (2 << 3) ,
  VSF_GPIO_SPEED_12MHZ = (0 << 5) ,
  VSF_GPIO_SPEED_60MHZ = (1 << 5) ,
  VSF_GPIO_SPEED_85MHZ = (2 << 5) ,
  VSF_GPIO_SPEED_100MHZ_220MHZ = (3 << 5) ,
  VSF_GPIO_SPEED_MASK = (3 << 5) ,
  VSF_GPIO_SPEED_MASK = (3 << 5) ,
  VSF_GPIO_EXTI_MODE_NONE = 0 ,
  VSF_GPIO_EXTI_MODE_LOW_LEVEL = 1 << 16 ,
  VSF_GPIO_EXTI_MODE_HIGH_LEVEL = 2 << 16 ,
  VSF_GPIO_EXTI_MODE_RISING = 3 << 16 ,
  VSF_GPIO_EXTI_MODE_FALLING = 4 << 16 ,
  VSF_GPIO_EXTI_MODE_RISING_FALLING = 5 << 16 ,
  __VSF_HW_GPIO_MODE_ALL_BITS = 0x7F
}
 

Functions

uint32_t __vsf_hw_gpio_get_regbase (vsf_hw_gpio_t *gpio_ptr)
 

Macro Definition Documentation

◆ VSF_GPIO_CFG_REIMPLEMENT_TYPE_MODE

#define VSF_GPIO_CFG_REIMPLEMENT_TYPE_MODE   ENABLED

◆ VSF_GPIO_SPEED_LOW

#define VSF_GPIO_SPEED_LOW   VSF_GPIO_SPEED_12MHZ

◆ VSF_GPIO_SPEED_MEDIUM

#define VSF_GPIO_SPEED_MEDIUM   VSF_GPIO_SPEED_60MHZ

◆ VSF_GPIO_SPEED_HIGH

#define VSF_GPIO_SPEED_HIGH   VSF_GPIO_SPEED_85MHZ

◆ VSF_GPIO_SPEED_VERY_HIGH

#define VSF_GPIO_SPEED_VERY_HIGH   VSF_GPIO_SPEED_100MHZ_220MHZ

◆ VSF_GPIO_SPEED_MASK

#define VSF_GPIO_SPEED_MASK   VSF_GPIO_SPEED_MASK

Typedef Documentation

◆ vsf_gpio_mode_t

◆ vsf_hw_gpio_t

typedef struct vsf_hw_gpio_t vsf_hw_gpio_t

Enumeration Type Documentation

◆ vsf_gpio_mode_t

Enumerator
VSF_GPIO_INPUT 

enable input mode

VSF_GPIO_ANALOG 

enable analog function

VSF_GPIO_OUTPUT_PUSH_PULL 

enable output push-pull mode

VSF_GPIO_OUTPUT_OPEN_DRAIN 

enable output open-drain mode

VSF_GPIO_AF 

enable AF mode

VSF_GPIO_AF_PUSH_PULL 

enable output push-pull mode

VSF_GPIO_AF_OPEN_DRAIN 

enable output open-drain mode

VSF_GPIO_EXTI 
VSF_GPIO_NO_PULL_UP_DOWN 

enable floating

VSF_GPIO_PULL_UP 

enable pull-up resistor

VSF_GPIO_PULL_DOWN 

enable pull-down resistor

VSF_GPIO_SPEED_12MHZ 
VSF_GPIO_SPEED_60MHZ 
VSF_GPIO_SPEED_85MHZ 
VSF_GPIO_SPEED_100MHZ_220MHZ 
VSF_GPIO_SPEED_MASK 
VSF_GPIO_SPEED_MASK 
VSF_GPIO_EXTI_MODE_NONE 
VSF_GPIO_EXTI_MODE_LOW_LEVEL 
VSF_GPIO_EXTI_MODE_HIGH_LEVEL 
VSF_GPIO_EXTI_MODE_RISING 
VSF_GPIO_EXTI_MODE_FALLING 
VSF_GPIO_EXTI_MODE_RISING_FALLING 
__VSF_HW_GPIO_MODE_ALL_BITS 

Function Documentation

◆ __vsf_hw_gpio_get_regbase()

uint32_t __vsf_hw_gpio_get_regbase ( vsf_hw_gpio_t gpio_ptr)
extern