OpenHarmony API-GpioSetDir() 设置 GPIO 引脚的方向

说明

设置 GPIO 引脚的方向:

  • 输入模式:引脚用于检测外部电平信号(如读取按键状态、传感器数据)。

  • 输出模式:引脚用于主动输出高低电平(如控制 LED 亮灭、驱动继电器)。

定义

/**
 * @brief Sets the direction for a GPIO pin.
 *
 * @param id Indicates the GPIO pin ID.
 * @param dir Indicates the GPIO input/output direction.
 * @return Returns {@link WIFI_IOT_SUCCESS} if the operation is successful;
 * returns an error code defined in {@link wifiiot_errno.h} otherwise.
 * @since 1.0
 * @version 1.0
 */
unsigned int GpioSetDir(WifiIotGpioIdx id, WifiIotGpioDir dir);

参数:

  • id:引脚id,WifiIotGpioIdx 枚举值,详见链接
  • dir:方向参数,WifiIotGpioDir 枚举值,详见链接

头文件

\\base\iot_hardware\interfaces\kits\wifiiot_lite\wifiiot_gpio.h

注意

使用前提

需先通过 IoSetFunc 将引脚配置为通用 GPIO 功能(如 WIFI_IOT_IO_FUNC_GPIO_9_GPIO),再调用 GpioSetDir 设置方向。

调用时机

必须在读写引脚电平(如 GpioSetOutputVal、GpioGetInputVal)之前完成方向设置,否则会导致操作失败。

例如,完整的“配置 GPIO9 为输出并控制电平”流程:

// 1. 配置GPIO9为通用GPIO功能
IoSetFunc(WIFI_IOT_IO_NAME_GPIO_9, WIFI_IOT_IO_FUNC_GPIO_9_GPIO);

// 2. 设置为输出模式
GpioSetDir(WIFI_IOT_IO_NAME_GPIO_9, WIFI_IOT_GPIO_DIR_OUT);

// 3. 输出高电平
GpioSetOutputVal(WIFI_IOT_IO_NAME_GPIO_9, 1);

通过设置引脚方向,可明确 GPIO 的角色(是“接收信号”还是“发送信号”),这是 GPIO 操作的基础步骤。


原文出处:/show_1GW1wI3ZWXeK.html