打开主菜单

Wiki-Orange Pi β

更改

Orange Pi 4G-IoT

添加2,220字节, 2022年6月22日 (三) 19:37
GPIO 调试
=== 基于 Linux 平台的使用 ===
== GPIO 调试 ==
GPIO 调试有两种方法:<br><br>
1.Linux 下面有一个通用的 GPIO 操作接口,那就是我要介绍的“/sys/class/gpio”方式。<br>
GPIO 的配置文件在/sys/class/gpio 目录下,控制程序可以分为四个步骤:<br><br>
①、配置 GPIO:<br>
在/sys/class/gpio 目录下可以看到文件 export,调用该文件以实现配置。该文件对所有 GPIO 编号,40pin GPIO 口,可通过原理图或手册获取。如 40pin 的第 37 个 pin 脚是 GPIO123 在终端输入: # echo 123 > /sys/class/gpio/export , 在此回到目录/sys/class/gpio 下,可以看到产生了一个新的目录./gpio123,里面包含了该 IO 口的输入输出设置等配置文件。注意:export 文件只有 root 写权限,执行上述命令或者以后用 C 编写的可执行文件要以 ROOT 身份执行。<br><br>
②、设置 GPIO 的方向(输入输出):<br>
在终端输入:# echo "out" > /sys/class/gpio/gpio38/direction,即设置该 GPIO 为输出。<br><br>
③、设置 GPIO 的输出电平:<br>
在终端输入:#echo 1 > /sys/class/gpio/gpio123/value,即设置 GPIO 输出高电平,输入 echo "0" > /sys/class/gpio/gpio123/value 设置 GPIO 输出低电平。
④、关闭 GPIO:<br>
在终端输入:#echo "38" > /sys/class/gpio/unexport,即删除 GPIO 配置文件,可以看到目录 gpio38 已经被删除.<br><br>
2.MTK 用 ADB 修改和显示 GPIO 状态<br>
获取 GPIO 的状态, cat /sys/devices/virtual/misc/mtgpio/pin<br><br>
在 adb 下面直接执行 cat /sys/devices/virtual/misc/mtgpio/pin 命令则显示:<br>
pin:[mode] [pull_sel] [din] [dout] [pull en] [dir] [ies] [smt]<br><br>
0:11101010<br><br>
1:01101010<br><br>
、、、、、、<br><br>
22:1-100-10-1-1<br><br>
、、、、、、、<br><br>
42:00000110<br><br>
每行分别对应:<br><br>
IO 编号:模式,输入上拉选择,输入值,输出值,输入上拉使能,方向 direction, 输入翻转<br><br>
修改 GPIO 的状态:<br>
40pin GPIO 口,可通过原理图或手册获取,如 40pin 的第 37 个 pin 脚是 GPIO123, <br>
echo -wdout123 1> pin 即设置该 GPIO 输出高电平<br>
echo -wdout123 0> pin 即设置该 GPIO 输出低电平<br><br>
 
== 版本历史 ==
{| class="wikitable" style="width:800px;"
8,460
个编辑