CI130X SDK API手册  2.2.0
本手册用于描述CI130X SDK各个组件和驱动API
结构体 | 类型定义 | 枚举 | 函数

CI130X芯片GPIO驱动 更多...

结构体

struct  gpio_info_t
 GPIO信息 更多...
 
struct  gpio_irq_callback_list_s
 

类型定义

typedef void(* gpio_irq_callback_t) (void)
 
typedef struct gpio_irq_callback_list_s gpio_irq_callback_list_t
 

枚举

enum  gpio_base_t {
  PA = HAL_PA_BASE,
  PB = HAL_PB_BASE,
  PC = HAL_PC_BASE,
  PD = HAL_PD_BASE
}
 GPIO控制器定义 更多...
 
enum  gpio_pin_t {
  pin_0 = (0x1 << 0),
  pin_1 = (0x1 << 1),
  pin_2 = (0x1 << 2),
  pin_3 = (0x1 << 3),
  pin_4 = (0x1 << 4),
  pin_5 = (0x1 << 5),
  pin_6 = (0x1 << 6),
  pin_7 = (0x1 << 7),
  pin_all = 0xFF
}
 GPIO pin脚定义 更多...
 
enum  gpio_trigger_t {
  high_level_trigger = 1,
  low_level_trigger = 2,
  up_edges_trigger = 3,
  down_edges_trigger = 4,
  both_edges_trigger = 5
}
 GPIO中断触发模式定义 更多...
 

函数

void gpio_set_output_mode (gpio_base_t gpio, gpio_pin_t pins)
 管脚配置为输出模式 更多...
 
void gpio_set_input_mode (gpio_base_t gpio, gpio_pin_t pins)
 管脚配置为输入模式 更多...
 
uint8_t gpio_get_direction_status (gpio_base_t gpio, gpio_pin_t pins)
 获取管脚输入输出状态 更多...
 
void gpio_irq_mask (gpio_base_t gpio, gpio_pin_t pins)
 屏蔽管脚中断 更多...
 
void gpio_irq_unmask (gpio_base_t gpio, gpio_pin_t pins)
 取消屏蔽管脚中断 更多...
 
void gpio_irq_trigger_config (gpio_base_t gpio, gpio_pin_t pins, gpio_trigger_t trigger)
 设置管脚的中断触发方式 更多...
 
void gpio_set_output_high_level (gpio_base_t gpio, gpio_pin_t pins)
 管脚输出高电平 更多...
 
void gpio_set_output_low_level (gpio_base_t gpio, gpio_pin_t pins)
 管脚输出低电平 更多...
 
uint8_t gpio_get_input_level (gpio_base_t gpio, gpio_pin_t pins)
 获取管脚输入电平 更多...
 
uint8_t gpio_get_direction_status_single (gpio_base_t gpio, gpio_pin_t pins)
 获取某一个管脚输入输出状态 更多...
 
uint8_t gpio_get_irq_raw_status_single (gpio_base_t gpio, gpio_pin_t pins)
 获取某个管脚中断屏蔽前状态 更多...
 
uint8_t gpio_get_irq_mask_status_single (gpio_base_t gpio, gpio_pin_t pins)
 获取某个管脚中断屏蔽后状态 更多...
 
void gpio_clear_irq_single (gpio_base_t gpio, gpio_pin_t pins)
 清除某个管脚的中断 更多...
 
void gpio_set_output_level_single (gpio_base_t gpio, gpio_pin_t pins, uint8_t level)
 某个管脚输出电平 更多...
 
uint8_t gpio_get_input_level_single (gpio_base_t gpio, gpio_pin_t pins)
 获取某个管脚输入电平 更多...
 
void registe_gpio_callback (gpio_base_t base, gpio_irq_callback_list_t *gpio_irq_callback_node)
 注册中断回掉函数 更多...
 
void PA_IRQHandler (void)
 PA中断处理函数 更多...
 
void PB_IRQHandler (void)
 PB中断处理函数 更多...
 
void AON_PC_IRQHandler (void)
 PC中断处理函数 更多...
 

详细描述

CI130X芯片GPIO驱动


结构体说明

◆ gpio_info_t

struct gpio_info_t

GPIO信息

成员变量
gpio_base_t base

GPIO基地址

gpio_pin_t pin

GPIO pin

◆ gpio_irq_callback_list_s

struct gpio_irq_callback_list_s
成员变量
gpio_irq_callback_t gpio_irq_callback
struct gpio_irq_callback_list_s * next

类型定义说明

◆ gpio_irq_callback_list_t

◆ gpio_irq_callback_t

typedef void(* gpio_irq_callback_t) (void)

枚举类型说明

◆ gpio_base_t

GPIO控制器定义

枚举值
PA 

PA控制器

PB 

PB控制器

PC 

PC控制器

PD 

PD控制器(PD组的所有引脚不支持中断功能)

◆ gpio_pin_t

GPIO pin脚定义

枚举值
pin_0 

Pin0脚

pin_1 

Pin1脚

pin_2 

Pin2脚

pin_3 

Pin3脚

pin_4 

Pin4脚

pin_5 

Pin5脚

pin_6 

Pin6脚

pin_7 

Pin7脚

pin_all 

所有Pin脚

◆ gpio_trigger_t

GPIO中断触发模式定义

枚举值
high_level_trigger 

高电平触发中断

low_level_trigger 

低电平触发中断

up_edges_trigger 

上升沿触发中断

down_edges_trigger 

下降沿触发中断

both_edges_trigger 

双边沿触发中断

函数说明

◆ AON_PC_IRQHandler()

void AON_PC_IRQHandler ( void  )

PC中断处理函数

◆ gpio_clear_irq_single()

void gpio_clear_irq_single ( gpio_base_t  base,
gpio_pin_t  pins 
)

清除某个管脚的中断

参数
base:PA PB PC
pins:pin_0,pin_1...pin_7;中的一个

◆ gpio_get_direction_status()

uint8_t gpio_get_direction_status ( gpio_base_t  base,
gpio_pin_t  pins 
)

获取管脚输入输出状态

参数
base:PA PB PC PD
pins:pin_0,pin_1...pin_7,pin_all;中的一个或多个
返回
uint8_t :pin(0-7)对应status的bit(0-7) 输出对应bit为1 输入对应bit为0

◆ gpio_get_direction_status_single()

uint8_t gpio_get_direction_status_single ( gpio_base_t  base,
gpio_pin_t  pins 
)

获取某一个管脚输入输出状态

参数
base:PA PB PC PD
pins:pin_0,pin_1...pin_7;中的一个
返回
uint8_t :输出:1 输入:0

◆ gpio_get_input_level()

uint8_t gpio_get_input_level ( gpio_base_t  base,
gpio_pin_t  pins 
)

获取管脚输入电平

参数
base:PA PB PC PD
pins:pin_0,pin_1...pin_7,pin_all;中的一个或多个
返回
uint8_t :pin(0-7)对应value的bit(0-7) 高电平对应bit为1 低电平对应bit为0

◆ gpio_get_input_level_single()

uint8_t gpio_get_input_level_single ( gpio_base_t  base,
gpio_pin_t  pins 
)

获取某个管脚输入电平

参数
base:PA PB PC PD
pins:pin_0,pin_1...pin_7;中的一个
返回
uint8_t :高电平:1 低电平:0

◆ gpio_get_irq_mask_status_single()

uint8_t gpio_get_irq_mask_status_single ( gpio_base_t  base,
gpio_pin_t  pins 
)

获取某个管脚中断屏蔽后状态

参数
base:PA PB PC
pins:pin_0,pin_1...pin_7;中的一个
返回
uint8_t :没有屏蔽为1 屏蔽为0

◆ gpio_get_irq_raw_status_single()

uint8_t gpio_get_irq_raw_status_single ( gpio_base_t  base,
gpio_pin_t  pins 
)

获取某个管脚中断屏蔽前状态

参数
base:PA PB PC
pins:pin_0,pin_1...pin_7;中的一个
返回
uint8_t :有中断为1 无中断为0

◆ gpio_irq_mask()

void gpio_irq_mask ( gpio_base_t  base,
gpio_pin_t  pins 
)

屏蔽管脚中断

参数
base:PA PB PC
pins:pin_0,pin_1...pin_7,pin_all;中的一个或多个

◆ gpio_irq_trigger_config()

void gpio_irq_trigger_config ( gpio_base_t  base,
gpio_pin_t  pins,
gpio_trigger_t  trigger 
)

设置管脚的中断触发方式

参数
base:PA PB PC
pins:pin_0,pin_1...pin_7,pin_all;中的一个或多个
trigger:high_level_trigger、low_level_trigger、up_edges_trigger、 down_edges_trigger、both_edges_trigger

◆ gpio_irq_unmask()

void gpio_irq_unmask ( gpio_base_t  base,
gpio_pin_t  pins 
)

取消屏蔽管脚中断

参数
base:PA PB PC
pins:pin_0,pin_1...pin_7,pin_all;中的一个或多个

◆ gpio_set_input_mode()

void gpio_set_input_mode ( gpio_base_t  base,
gpio_pin_t  pins 
)

管脚配置为输入模式

参数
base:PA PB PC PD
pins:pin_0,pin_1...pin_7,pin_all;中的一个或多个

◆ gpio_set_output_high_level()

void gpio_set_output_high_level ( gpio_base_t  base,
gpio_pin_t  pins 
)

管脚输出高电平

参数
base:PA PB PC PD
pins:pin_0,pin_1...pin_7,pin_all;中的一个或多个

◆ gpio_set_output_level_single()

void gpio_set_output_level_single ( gpio_base_t  base,
gpio_pin_t  pins,
uint8_t  level 
)

某个管脚输出电平

参数
base:PA PB PC PD
pins:pin_0,pin_1...pin_7;中的一个
level:1:输出高电平 0:输出低电平

◆ gpio_set_output_low_level()

void gpio_set_output_low_level ( gpio_base_t  base,
gpio_pin_t  pins 
)

管脚输出低电平

参数
base:PA PB PC PD
pins:pin_0,pin_1...pin_7,pin_all;中的一个或多个

◆ gpio_set_output_mode()

void gpio_set_output_mode ( gpio_base_t  base,
gpio_pin_t  pins 
)

管脚配置为输出模式

参数
base:PA PB PC PD
pins:pin_0,pin_1...pin_7,pin_all;中的一个或多个

◆ PA_IRQHandler()

void PA_IRQHandler ( void  )

PA中断处理函数

◆ PB_IRQHandler()

void PB_IRQHandler ( void  )

PB中断处理函数

◆ registe_gpio_callback()

void registe_gpio_callback ( gpio_base_t  base,
gpio_irq_callback_list_t gpio_irq_callback_node 
)

注册中断回掉函数

参数
base:PA,PB,PC
gpio_irq_callback_node中断回调函数节点