【海思应用篇】-(7)GPIO应用层示例二

【海思应用篇】-(7)GPIO应用层示例二

我们知道每组gpio在/dev/下存在对应节点,我们也可以通过这个操作GPIO。

1.用户态操作

步骤 1 在控制台使用 echo 命令将要操作的 GPIO编号export

echo N > /sys/class/gpio/export

N 为要操作的 GPIO编号,该编号等于 GPIO组号 8 + 组内偏移号,例 如 GPIO4_2的编号为4 8 + 2 = 34 。

export 之后就会生成/sys/class/gpio/gpioN 目录

例如:exportGPIO4_2:

echo 34 > /sys/class/gpio/export

步骤 2 在控制台使用 echo 命令设置GPIO方向

对于输入 :echo in > /sys/class/gpio/gpioN/direction

对于输出 :echo out > /sys/class/gpio/gpioN/direction

例如:设置GPIO4_2 方向

− 对于输入 :echo in > /sys/class/gpio/gpio34/direction

− 对于输出 :echo out > /sys/class/gpio/gpio34/direction

GPIO方向 只有 out 和 in 两 种 。

可使用 cat命令 查 看 GPIO方向: cat /sys/class/gpio/gpioN/direction 例如 查 看 GPIO4_2 方向 : cat /sys/class/gpio/gpio34/direction

步骤 3 在控制台使用 cat或echo 命令查看 GPIO输入值或设 置GPIO输出值

查看输入值:cat /sys/class/gpio/gpioN/value

输出低:echo 0 > /sys/class/gpio/gpioN/value

输出高:echo 1 > /sys/class/gpio/gpioN/value

步骤 4 在控制台使用 echo 命令将操作的 GPIO编号unexport

echo N > /sys/class/gpio/unexport

2.内核态

步骤 1 注册 GPIO:gpio_request(gpio_num, NULL);

步骤 2 设 置GPIO方向

对于输入 :gpio_direction_input(gpio_num)

对于输出 :gpio_direction_output(gpio_num, gpio_out_val)

步骤 3 查看GPIO输入值或设 置GPIO输出值

查看输入值:gpio_get_value(gpio_num);

输出低:gpio_set_value(gpio_num, 0);

输出高:gpio_set_value(gpio_num, 1);

步骤 4 释放注册的 GPIO编号

gpio_free(gpio_num);

免责声明:文章内容来自互联网,本站不对其真实性负责,也不承担任何法律责任,如有侵权等情况,请与本站联系删除。
转载请注明出处:【海思应用篇】-(7)GPIO应用层示例二 https://www.yhzz.com.cn/a/14833.html

上一篇 2023-05-12
下一篇 2023-05-12

相关推荐

联系云恒

在线留言: 我要留言
客服热线:400-600-0310
工作时间:周一至周六,08:30-17:30,节假日休息。