列出、读取、写入和配置 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。
这是设备端命令,而不是 fx
或 ffx
等主机端命令。
换句话说,在调用此命令之前,您必须先访问 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/