gpioutil

列出、读取、写入和配置 GPIO。

用法

gpioutil <command> [<name>] [<value>]

命令

list

gpioutil list

列出已知 GPIO。

list 返回的值如下所示:

[gpio-0] GPIO_HW_ID_3

方括号 (gpio-0) 中的值是对图钉索引的引用。方括号后面的值 (GPIO_HW_ID_3) 是要向其他 gpioutil 命令提供的 <name> 值。如需了解详情,请参阅 GPIO 名称

别名:l

朗读

gpioutil read <name>

读取配置为 OUT 的 GPIO 的当前值。

<name> 应该是从 list 返回的值之一。

可能的返回值为 0 (LOW) 或 1 (HIGH)。

别名:r

gpioutil write <name> <value>

向配置为 IN 的 GPIO 写入值。

<name> 应该是从 list 返回的值之一。

<value> 应为 0 (LOW) 或 1 (HIGH)。

此命令不会返回值。

别名:w

位于:

gpioutil in <name> <value>

将 GPIO 配置为 IN。

<name> 应该是从 list 返回的值之一。

<value> 是电阻器拉取值。接受的值包括 0 (GPIO_PULL_DOWN)、1 (GPIO_PULL_UP) 或 2 (GPIO_NO_PULL)。

此命令不会返回值。

别名:i

出局

gpioutil out <name> <value>

将 GPIO 配置为 OUT。

<name> 应该是从 list 返回的值之一。

<value> 是初始 OUT 值。可接受的值为 0 (LOW) 或 1 (HIGH)。

此命令不会返回值。

别名:o

开车

gpioutil drive <name> [<value>]

获取或设置 GPIO 的驱动强度(以微安为单位)。

<name> 应该是从 list 返回的值之一。

如果省略 <value>drive 会返回 GPIO 的当前驱动强度(以微安为单位)。

如果提供了 <value>drive 会更新 GPIO 的驱动强度。<value> 应以微安为单位。

别名:d

帮助

gpioutil help

输出帮助文本。

别名:h

示例

列出所有已知 GPIO

$ gpioutil list
[gpio-0] GPIO_HW_ID_3
[gpio-1] GPIO_SOC_TH_BOOT_MODE_L
...

读取 GPIO 的当前值

$ gpioutil read GPIO_HW_ID_3
GPIO Value: 1

将 LOW 值写入 GPIO

$ gpioutil write GPIO_HW_ID_3 0

使用下拉电阻将 GPIO 配置为 IN

$ gpioutil in GPIO_HW_ID_3 0

将 GPIO 配置为 OUT,将初始值设置为“高”。

$ gpioutil out GPIO_HW_ID_3 1

获取 GPIO 的当前驱动强度(以微安为单位)

$ gpioutil drive GPIO_HW_ID_3
Drive Strength: 500 ua

将 GPIO 的驱动强度设置为 500 微安

$ gpioutil drive GPIO_HW_ID_3 500
Set drive strength to 500

备注

访问此命令

此命令仅适用于特定诊断和测试 Fuchsia build。

这是设备端命令,而不是 fxffx 等主机端命令。 换句话说,在调用此命令之前,您必须先访问 Fuchsia 设备的 shell。

如需以交互方式访问 Fuchsia 设备的 shell,请执行以下操作:

ffx component explore <component>

<component> 替换为有权访问本页中记录的命令的组件的名称。

如需调用单个命令并将输出返回给主机,请执行以下操作:

ffx component explore <component> -c "<command>"

<command> 替换为本页介绍的某个命令。

GPIO 名称

GPIO 名称在驱动程序源代码中定义,通常与 GPIO 的数据表名称一致。有关示例,请参阅 vim3-gpio.cc 中的 DECL_GPIO_PIN 语句。

源代码

gpioutil 的源代码://src/devices/gpio/bin/gpioutil/