列出、读取、写入和配置 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(低)或 1(高)。
别名:r
in
gpioutil in <name>
将 GPIO 配置为 IN。
<name> 应该是 list 返回的值之一。
此命令不返回值。
别名:i
out
gpioutil out <name> <value>
将 GPIO 配置为 OUT。
<name> 应该是 list 返回的值之一。
<value> 是初始 OUT 值。接受的值为 0(低)或 1(高)。
此命令不返回值。
别名:o
开车
gpioutil drive <name> [<value>]
获取或设置 GPIO 的驱动强度(以微安为单位)。
<name> 应该是 list 返回的值之一。
如果省略 <value>,drive 会返回 GPIO 的当前驱动强度(以微安为单位)。
如果提供 <value>,drive 会更新 GPIO 的驱动强度。<value> 应以微安为单位。
别名:d
中断
gpioutil interrupt <name> <value>
获取 GPIO 中断并等待其触发一次。
<name> 应该是 list 返回的值之一。
<value> 是要使用的中断模式。接受的值包括 default、edge-high、edge-low、edge-both、level-low 或 level-high。
别名:q
函数
gpioutil function <name> <value>
设置 PIN 码的功能。
<name> 应该是 list 返回的值之一。
<value> 是特定于所用 GPIO 控制器的功能编号或字符串名称。
别名:f
拉取
gpioutil pull <name> <value>
为引脚配置上拉或下拉电阻。
<name> 应该是 list 返回的值之一。
<value> 是电阻拉动。接受的值包括 down、up 或 none。
别名:p
帮助
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
向 GPIO 写入低值
$ gpioutil write GPIO_HW_ID_3 0
将 GPIO 配置为带下拉电阻的输入
$ gpioutil in GPIO_HW_ID_3 down
将 GPIO 配置为 OUT,初始值为 HIGH
$ 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
等待 GPIO 上的下降沿
$ gpioutil interrupt GPIO_HW_ID_3 edge-low
Received interrupt at time 12345
为功能 6 设置 PIN 码
$ gpioutil function GPIO_HW_ID_3 6
按名称设置功能快捷方式
$ gpioutil function GPIO_HW_ID_3 spi
备注
访问此命令
此命令仅在某些诊断和测试 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/