CN / EN
文档反馈
感谢关注汇顶文档,期待您的宝贵建议!
感谢您的反馈,祝您愉快!
无匹配项 共计114个匹配页面

GPIO驱动API描述

GPIO驱动的API主要包括:

表 37 GPIO驱动的APIs
API类别 API名称 描述

初始化

hal_gpio_init()

初始化指定的GPIO引脚。

hal_gpio_deinit()

反初始化指定的GPIO引脚。

IO操作

hal_gpio_read_pin()

读取引脚的输入电平。

hal_gpio_write_pin()

设置引脚的输出电平。

hal_gpio_toggle_pin()

翻转引脚的输出电平。

中断处理及回调函数

hal_gpio_exti_irq_handler()

中断处理函数。

hal_gpio_exti_callback()

中断回调函数。

下面章节将对各API进行详细描述。

hal_gpio_init

表 38 hal_gpio_init接口
函数原型

void hal_gpio_init(gpio_regs_t* GPIOx, gpio_init_t *p_gpio_init)

功能说明

根据 gpio_init_t 指定的参数初始化GPIO外设。

输入参数

GPIOx:x可以是0或1,用于确定GR551x家族中被操作的GPIO外设。

p_gpio_init:指向gpio_init_t 结构体变量的指针,该结构体变量包含指定的GPIO引脚的配置信息。

返回值

备注

hal_gpio_deinit

表 39 hal_gpio_deinit接口
函数原型

void hal_gpio_deinit(gpio_regs_t* GPIOx, uint32_t gpio_pin)

功能说明

将GPIO外设寄存器反初始化为它们的默认重置值。

输入参数

GPIOx:x可以是0或1,用于确定GR551x家族中被操作的GPIO外设。

gpio_pin:指定要写入的引脚位。该参数的取值可以是下列值的组合:

  • GPIO_PIN_0(引脚0)
  • GPIO_PIN_1(引脚1)
  • GPIO_PIN_2(引脚2)
  • GPIO_PIN_3(引脚3)
  • GPIO_PIN_4(引脚4)
  • GPIO_PIN_5(引脚5)
  • GPIO_PIN_6(引脚6)
  • GPIO_PIN_7(引脚7)
  • GPIO_PIN_8(引脚8)
  • GPIO_PIN_9(引脚9)
  • GPIO_PIN_10(引脚10)
  • GPIO_PIN_11(引脚11)
  • GPIO_PIN_12(引脚12)
  • GPIO_PIN_13(引脚13)
  • GPIO_PIN_14(引脚14)
  • GPIO_PIN_15(引脚15)
  • GPIO_PIN_ALL(引脚0 ~15)
返回值

备注

hal_gpio_read_pin

表 40 hal_gpio_read_pin接口
函数原型

gpio_pin_state_t hal_gpio_read_pin(gpio_regs_t* GPIOx, uint16_t gpio_pin)

功能说明

读取指定输入端口的引脚。

输入参数

GPIOx:x可以是0或1,用于确定GR551x家族中被操作的GPIO外设。

gpio_pin:指定要读取的引脚位。该参数的取值是下列值中的任意一个:

  • GPIO_PIN_0(引脚0)
  • GPIO_PIN_1(引脚1)
  • GPIO_PIN_2(引脚2)
  • GPIO_PIN_3(引脚3)
  • GPIO_PIN_4(引脚4)
  • GPIO_PIN_5(引脚5)
  • GPIO_PIN_6(引脚6)
  • GPIO_PIN_7(引脚7)
  • GPIO_PIN_8(引脚8)
  • GPIO_PIN_9(引脚9)
  • GPIO_PIN_10(引脚10)
  • GPIO_PIN_11(引脚11)
  • GPIO_PIN_12(引脚12)
  • GPIO_PIN_13(引脚13)
  • GPIO_PIN_14(引脚14)
  • GPIO_PIN_15(引脚15)
返回值

返回输入端引脚值。

备注

hal_gpio_write_pin

表 41 hal_gpio_write_pin接口
函数原型

void hal_gpio_write_pin(gpio_regs_t* GPIOx, uint16_t gpio_pin, gpio_pin_state_t pin_state)

功能说明

设置或清除所选的数据端口位。

输入参数

GPIOx:x可以是0或1,用于确定GR551x家族中被操作的GPIO外设。

gpio_pin:指定要写入的引脚位。该参数的取值可以是下列值的组合:

  • GPIO_PIN_0(引脚0)
  • GPIO_PIN_1(引脚1)
  • GPIO_PIN_2(引脚2)
  • GPIO_PIN_3(引脚3)
  • GPIO_PIN_4(引脚4)
  • GPIO_PIN_5(引脚5)
  • GPIO_PIN_6(引脚6)
  • GPIO_PIN_7(引脚7)
  • GPIO_PIN_8(引脚8)
  • GPIO_PIN_9(引脚9)
  • GPIO_PIN_10(引脚10)
  • GPIO_PIN_11(引脚11)
  • GPIO_PIN_12(引脚12)
  • GPIO_PIN_13(引脚13)
  • GPIO_PIN_14(引脚14)
  • GPIO_PIN_15(引脚15)
  • GPIO_PIN_ALL(引脚0 ~ 15)

pin_state:指定要写入到所选位的值。这个参数可以下列值中的任意一个:

  • GPIO_PIN_RESET(低电平)
  • GPIO_PIN_SET(高电平)
返回值

备注

hal_gpio_toggle_pin

表 42 hal_gpio_toggle_pin接口
函数原型

void hal_gpio_toggle_pin(gpio_regs_t* GPIOx, uint16_t gpio_pin)

功能说明

切换指定端口引脚。

输入参数

GPIOx:x可以是0或1,用于确定GR551x家族中被操作的GPIO外设。

gpio_pin:指定要切换的引脚位。该参数的取值可以是下列值的组合:

  • GPIO_PIN_0(引脚0)
  • GPIO_PIN_1(引脚1)
  • GPIO_PIN_2(引脚2)
  • GPIO_PIN_3(引脚3)
  • GPIO_PIN_4(引脚4)
  • GPIO_PIN_5(引脚5)
  • GPIO_PIN_6(引脚6)
  • GPIO_PIN_7(引脚7)
  • GPIO_PIN_8(引脚8)
  • GPIO_PIN_9(引脚9)
  • GPIO_PIN_10(引脚10)
  • GPIO_PIN_11(引脚11)
  • GPIO_PIN_12(引脚12)
  • GPIO_PIN_13(引脚13)
  • GPIO_PIN_14(引脚14)
  • GPIO_PIN_15(引脚15)
  • GPIO_PIN_ALL(引脚0 ~ 15)
返回值

备注

hal_gpio_exti_irq_handler

表 43 hal_gpio_exti_irq_handler接口
函数原型

void hal_gpio_exti_irq_handler(gpio_regs_t* GPIOx)

功能说明

处理GPIO中断请求。

输入参数

GPIOx:x可以是0或1,用于确定GR551x家族中被操作的GPIO外设。

返回值

备注

hal_gpio_exti_callback

表 44 hal_gpio_exti_callback接口
函数原型

void hal_gpio_exti_callback(gpio_regs_t* GPIOx, uint16_t gpio_pin)

功能说明

GPIO回调函数。

输入参数

GPIOx:x可以是0或1,用于确定GR551x家族中被操作的GPIO外设。

gpio_pin:触发本次中断的引脚。该参数的取值可以是下列值的组合:
  • GPIO_PIN_0(引脚0)
  • GPIO_PIN_1(引脚1)
  • GPIO_PIN_2(引脚2)
  • GPIO_PIN_3(引脚3)
  • GPIO_PIN_4(引脚4)
  • GPIO_PIN_5(引脚5)
  • GPIO_PIN_6(引脚6)
  • GPIO_PIN_7(引脚7)
  • GPIO_PIN_8(引脚8)
  • GPIO_PIN_9(引脚9)
  • GPIO_PIN_10(引脚10)
  • GPIO_PIN_11(引脚11)
  • GPIO_PIN_12(引脚12)
  • GPIO_PIN_13(引脚13)
  • GPIO_PIN_14(引脚14)
  • GPIO_PIN_15(引脚15)
  • GPIO_PIN_ALL(引脚0 ~ 15)
返回值

备注

该函数为weak类型的空函数,当开发者需要使用该回调函数时,可重写该API。

扫描关注

打开微信,使用“扫一扫”即可关注。