九鼎创展论坛
标题:
关于在Android Studio下通过程序控制GPIO的问题
[打印本页]
作者:
phmatthaus
时间:
2017-1-6 18:42
标题:
关于在Android Studio下通过程序控制GPIO的问题
x项目中需要通过Android SDK应用程序控制GPIO。
经过前几天的尝试,在终端下已经可以通过以下命令控制GPIO了:
echo 89 > /sys/class/gpio/export (导出GPIOC25引脚)
echo out > /sys/class/gpio/gpio89/direction (GPIOC25脚设置为输出)
echo 1 > /sys/class/gpio/gpio89/value (GPIOC25脚置高)
经过测试,都是正常的。
但是通过Android SDK程序来控制:
process
= Runtime.
getRuntime
().exec(
"su"
);
process
.waitFor();
dos
=
new
DataOutputStream(
process
.getOutputStream());
dos
.writeBytes(
"echo 89 > /sys/class/gpio/export"
);
确总是抛异常。开始是提示无法获得超级权限,这一步已通过
chmod 06755 /system/xbin/su解决。
而后运行到
dos
.writeBytes()时
又出现
java.io.IOException: write failed: EPIPE (Broken pipe)
错误。
不知是否you人遇到过此问题。
作者:
hhy
时间:
2017-2-18 10:22
你在 /sys/class/gpio这个目录下su之后再运行你那个程序试下
作者:
lxz
时间:
2017-2-18 12:10
EPIPE 这个的产生还是是权限问题,dos.writeBytes("echo 89 > /sys/class/gpio/export");,再次su下,在调用export
欢迎光临 九鼎创展论坛 (http://bbs.9tripod.com/)
Powered by Discuz! X3.2