WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
GPIO

结构体

struct  gpio_context_t
 GPIO模块配置信息。 更多...
 
struct  hal_gpio_context_t
 GPIO HAL层模块配置信息。 更多...
 

宏定义

#define HAL_GPIO_MAX_CHANNEL   GPIO_CHANNELS_NUM
 
#define HAL_GPIO_CHANNEL_OFFSET   32
 
#define PIN_MAX_NUMBER   PIN_NONE
 GPIO最大PIN管脚数量。
 
#define GPIO_INTERRUPT_RISING_EDGE   0x00000001
 GPIO中断类型。
 
#define GPIO_INTERRUPT_FALLING_EDGE   0x00000002
 
#define GPIO_INTERRUPT_LOW   0x00000004
 
#define GPIO_INTERRUPT_HIGH   0x00000008
 
#define GPIO_INTERRUPT_DEDGE   (GPIO_INTERRUPT_RISING_EDGE | GPIO_INTERRUPT_FALLING_EDGE)
 

类型定义

typedef enum gpio_direction gpio_direction_t
 GPIO输入输出方向。
 
typedef enum gpio_level gpio_level_t
 GPIO高低电平。
 
typedef enum gpio_intr_type gpio_intr_type_t
 GPIO INTTYPE.
 
typedef enum gpio_polarity gpio_polarity_t
 GPIO POLARITY.
 
typedef enum gpio_dedge gpio_dedge_t
 GPIO双边沿使能或去使能。
 
typedef enum hal_gpio_ctrl_id hal_gpio_ctrl_id_t
 GPIO控制ID定义。
 
typedef void(* gpio_callback_t) (pin_t pin, uintptr_t param)
 GPIO回调的类型定义,它返回发起中断的PIN的编号。
 
typedef errcode_t(* hal_gpio_ctrl_t) (pin_t pin, hal_gpio_ctrl_id_t id)
 HAL层GPIO控制接口。
 

枚举

enum  gpio_direction { GPIO_DIRECTION_INPUT , GPIO_DIRECTION_OUTPUT }
 GPIO输入输出方向。 更多...
 
enum  gpio_level { GPIO_LEVEL_LOW , GPIO_LEVEL_HIGH }
 GPIO高低电平。 更多...
 
enum  gpio_intr_type { GPIO_LVL_LEVEL_SENSITIVE , GPIO_LVL_EDGE_SENSITIVE }
 GPIO INTTYPE. 更多...
 
enum  gpio_polarity { GPIO_ACTIVE_LOW , GPIO_ACTIVE_HIGH }
 GPIO POLARITY. 更多...
 
enum  gpio_dedge { GPIO_DEDGE_DISABLED , GPIO_DEDGE_ENABLED }
 GPIO双边沿使能或去使能。 更多...
 
enum  hal_gpio_ctrl_id {
  GPIO_CTRL_TOGGLE = 0 , GPIO_CTRL_ENABLE_INTERRUPT , GPIO_CTRL_DISABLE_INTERRUPT , GPIO_CTRL_CLEAR_INTERRUPT ,
  GPIO_CTRL_SUSPEND , GPIO_CTRL_RESUME , GPIO_CTRL_MAX
}
 GPIO控制ID定义。 更多...
 

函数

void hal_gpio_init (void)
 HAL层GPIO的初始化接口。
 
void hal_gpio_deinit (void)
 HAL层GPIO去初始化接口。
 
errcode_t hal_gpio_setdir (pin_t pin, gpio_direction_t dir)
 HAL层GPIO设置输入输出方向接口。
 
gpio_direction_t hal_gpio_getdir (pin_t pin)
 HAL层GPIO获取输入输出方向接口。
 
errcode_t hal_gpio_ctrl (pin_t pin, hal_gpio_ctrl_id_t id)
 HAL层GPIO控制接口。
 
errcode_t hal_gpio_output (pin_t pin, gpio_level_t level)
 HAL层GPIO的output接口 。
 
gpio_level_t hal_gpio_get_outval (pin_t pin)
 HAL层获取GPIO的output值接口 。
 
gpio_level_t hal_gpio_get_inval (pin_t pin)
 HAL层GPIO的input接口 。
 
errcode_t hal_gpio_register (pin_t pin, uint32_t trigger, gpio_callback_t callback, bool need_callback)
 HAL层GPIO的注册中断接口。
 
errcode_t hal_gpio_unregister (pin_t pin)
 HAL层GPIO的注册中断接口。
 
uintptr_t hal_gpio_base_addrs_get (uint32_t i)
 获取指定Channel GPIO寄存器的基地址。
 
void hal_gpio_regs_init (void)
 初始化GPIO,设置寄存器的基地址。
 

详细描述

Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. 2022-2022. All rights reserved.

Description: Provides HAL GPIO
History:
2022-07-22, Create file.

宏定义说明

◆ GPIO_INTERRUPT_DEDGE

#define GPIO_INTERRUPT_DEDGE   (GPIO_INTERRUPT_RISING_EDGE | GPIO_INTERRUPT_FALLING_EDGE)

◆ GPIO_INTERRUPT_FALLING_EDGE

#define GPIO_INTERRUPT_FALLING_EDGE   0x00000002

◆ GPIO_INTERRUPT_HIGH

#define GPIO_INTERRUPT_HIGH   0x00000008

◆ GPIO_INTERRUPT_LOW

#define GPIO_INTERRUPT_LOW   0x00000004

◆ GPIO_INTERRUPT_RISING_EDGE

#define GPIO_INTERRUPT_RISING_EDGE   0x00000001

GPIO中断类型。

◆ HAL_GPIO_CHANNEL_OFFSET

#define HAL_GPIO_CHANNEL_OFFSET   32

◆ HAL_GPIO_MAX_CHANNEL

#define HAL_GPIO_MAX_CHANNEL   GPIO_CHANNELS_NUM

◆ PIN_MAX_NUMBER

#define PIN_MAX_NUMBER   PIN_NONE

GPIO最大PIN管脚数量。

类型定义说明

◆ gpio_callback_t

typedef void(* gpio_callback_t) (pin_t pin, uintptr_t param)

GPIO回调的类型定义,它返回发起中断的PIN的编号。

◆ gpio_dedge_t

typedef enum gpio_dedge gpio_dedge_t

GPIO双边沿使能或去使能。

◆ gpio_direction_t

GPIO输入输出方向。

◆ gpio_intr_type_t

GPIO INTTYPE.

◆ gpio_level_t

typedef enum gpio_level gpio_level_t

GPIO高低电平。

◆ gpio_polarity_t

GPIO POLARITY.

◆ hal_gpio_ctrl_id_t

GPIO控制ID定义。

◆ hal_gpio_ctrl_t

typedef errcode_t(* hal_gpio_ctrl_t) (pin_t pin, hal_gpio_ctrl_id_t id)

HAL层GPIO控制接口。

枚举类型说明

◆ gpio_dedge

enum gpio_dedge

GPIO双边沿使能或去使能。

枚举值
GPIO_DEDGE_DISABLED 

GPIO单边沿中断。

GPIO_DEDGE_ENABLED 

GPIO双边沿中断。

◆ gpio_direction

GPIO输入输出方向。

枚举值
GPIO_DIRECTION_INPUT 
GPIO_DIRECTION_OUTPUT 

◆ gpio_intr_type

GPIO INTTYPE.

枚举值
GPIO_LVL_LEVEL_SENSITIVE 

GPIO Interrupt is level sensitive (used for input/output).

GPIO_LVL_EDGE_SENSITIVE 

GPIO Interrupt is edge sensitive (used for input/output).

◆ gpio_level

enum gpio_level

GPIO高低电平。

枚举值
GPIO_LEVEL_LOW 
GPIO_LEVEL_HIGH 

◆ gpio_polarity

GPIO POLARITY.

枚举值
GPIO_ACTIVE_LOW 

GPIO is at a low logic level (used for input/output).

GPIO_ACTIVE_HIGH 

GPIO is at a high logic level (used for input/output).

◆ hal_gpio_ctrl_id

GPIO控制ID定义。

枚举值
GPIO_CTRL_TOGGLE 

GPIO输出电平状态反转

GPIO_CTRL_ENABLE_INTERRUPT 

GPIO使能指定端口的中断

GPIO_CTRL_DISABLE_INTERRUPT 

GPIO去使能指定端口的中断

GPIO_CTRL_CLEAR_INTERRUPT 

GPIO清理中断

GPIO_CTRL_SUSPEND 

挂起所有GPIO通道。

GPIO_CTRL_RESUME 

挂起所有GPIO通道。

GPIO_CTRL_MAX 

函数说明

◆ hal_gpio_base_addrs_get()

uintptr_t hal_gpio_base_addrs_get ( uint32_t  i)

获取指定Channel GPIO寄存器的基地址。

◆ hal_gpio_ctrl()

errcode_t hal_gpio_ctrl ( pin_t  pin,
hal_gpio_ctrl_id_t  id 
)

HAL层GPIO控制接口。

◆ hal_gpio_deinit()

void hal_gpio_deinit ( void  )

HAL层GPIO去初始化接口。

◆ hal_gpio_get_inval()

gpio_level_t hal_gpio_get_inval ( pin_t  pin)

HAL层GPIO的input接口 。

◆ hal_gpio_get_outval()

gpio_level_t hal_gpio_get_outval ( pin_t  pin)

HAL层获取GPIO的output值接口 。

◆ hal_gpio_getdir()

gpio_direction_t hal_gpio_getdir ( pin_t  pin)

HAL层GPIO获取输入输出方向接口。

◆ hal_gpio_init()

void hal_gpio_init ( void  )

HAL层GPIO的初始化接口。

◆ hal_gpio_output()

errcode_t hal_gpio_output ( pin_t  pin,
gpio_level_t  level 
)

HAL层GPIO的output接口 。

◆ hal_gpio_register()

errcode_t hal_gpio_register ( pin_t  pin,
uint32_t  trigger,
gpio_callback_t  callback,
bool  need_callback 
)

HAL层GPIO的注册中断接口。

◆ hal_gpio_regs_init()

void hal_gpio_regs_init ( void  )

初始化GPIO,设置寄存器的基地址。

◆ hal_gpio_setdir()

errcode_t hal_gpio_setdir ( pin_t  pin,
gpio_direction_t  dir 
)

HAL层GPIO设置输入输出方向接口。

◆ hal_gpio_unregister()

errcode_t hal_gpio_unregister ( pin_t  pin)

HAL层GPIO的注册中断接口。