关于Android SDK程序控制开发板GPIO的问题

项目中需要通过Android SDK应用程序控制开发板的GPIO(X6818开发板,三星)。
经过前几天的尝试,在终端下已经可以通过以下命令控制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(JAVA)程序来控制:
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)错误。

各种目录权限都已经设置过(/sys, /sys/class, /sys/class/gpio)。

不知是否有人遇到过此问题。

发布了34 篇原创文章 · 获赞 12 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/phmatthaus/article/details/54141353