GPIO驱动API描述
GPIO驱动的API主要包括:
| 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
| 函数原型 |
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
| 函数原型 | void hal_gpio_deinit(gpio_regs_t* GPIOx, uint32_t gpio_pin) |
|---|---|
| 功能说明 | 将GPIO外设寄存器反初始化为它们的默认重置值。 |
| 输入参数 |
GPIOx:x可以是0或1,用于确定GR551x家族中被操作的GPIO外设。 gpio_pin:指定要写入的引脚位。该参数的取值可以是下列值的组合:
|
| 返回值 | 无 |
| 备注 |
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:指定要读取的引脚位。该参数的取值是下列值中的任意一个:
|
| 返回值 | 返回输入端引脚值。 |
| 备注 |
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:指定要写入的引脚位。该参数的取值可以是下列值的组合:
pin_state:指定要写入到所选位的值。这个参数可以下列值中的任意一个:
|
| 返回值 | 无 |
| 备注 |
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:指定要切换的引脚位。该参数的取值可以是下列值的组合:
|
| 返回值 | 无 |
| 备注 |
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
| 函数原型 | void hal_gpio_exti_callback(gpio_regs_t* GPIOx, uint16_t gpio_pin) |
|---|---|
| 功能说明 | GPIO回调函数。 |
| 输入参数 | GPIOx:x可以是0或1,用于确定GR551x家族中被操作的GPIO外设。 gpio_pin:触发本次中断的引脚。该参数的取值可以是下列值的组合:
|
| 返回值 | 无 |
| 备注 | 该函数为weak类型的空函数,当开发者需要使用该回调函数时,可重写该API。 |