【海思应用篇】-(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