发 帖  
原厂入驻New
[资料] 【UT4418试用体验】成功实现在应用层对LED的操作
2015-11-19 16:07:44  2010 android gpio
分享
前段时间在折腾如何在android应用层使用GPIO等设备,今天我就分享我的成果
开发平台:UT4418 PC机(运行ubuntu 14.04系统)
所需工具:串口

一、前期准备工作
    安装串口终端和android studio,这部分网络资料很多,就不多说了,下面进入正题。

二、在终端中控制LED
    连接串口到电脑,使用串口终端。
    方法1:通过现成的LED驱动来控制
        LED1灯亮
  1. echo 0 > /sys/devices/platform/ut4418-led/led1
复制代码
       LED1灯灭
  1. echo 1 > /sys/devices/platform/ut4418-led/led1
复制代码
       同理,控制LED2和LED3的命令如下
  1. echo 0 > /sys/devices/platform/ut4418-led/led2
  2. echo 1 > /sys/devices/platform/ut4418-led/led2
  3. echo 0 > /sys/devices/platform/ut4418-led/led3
  4. echo 1 > /sys/devices/platform/ut4418-led/led3
复制代码
      
    方法2:通过控制GPIO来控制
        查看原理图,发现LED分别连接到s5p4418的GPIOE0、GPIOE1、GPIOE2三个GPIO引脚
UT4418LED.png         
        首先要计算引脚号和端口号对应数值的和,端口号和数值对应关系如下,以GPIOE1为例就是1 + 128 = 129。
        
        端口号    :    GPIOA     GPIOB     GPIOC     GPIOD     GPIOE
                           0               32            64             96            128
        
        然后在终端输入
  1. echo 129 > /sys/class/gpio/export
复制代码
       在/sys/class/gpio/目录下会多一个gpio129目录,目录里面有两个关键的文件direction和value
        
        将GPIOE1设为输出
  1. echo out > /sys/class/gpio/gpio129/direction
复制代码
       点亮LED1
  1. echo 1 > /sys/class/gpio/gpio129/value
复制代码
       熄灭LED1
  1. echo 0 > /sys/class/gpio/gpio129/value
复制代码
       这个和方法一刚好是相反的
        
        最后可以使用下面命令结束GPIOE1的控制,执行完之后gpio129目录会消失
  1. echo 129 > /sys/class/gpio/unexport
复制代码
      
三、在android应用中控制LED灯
        android应用层利用文件操作来控制外设,原理与终端控制类似。下面是关键代码。
注意的是Runtime.getRuntime().exec("sh");这条语句里面的参数是“sh”才能正常运行,而不是网络常见的“su”参数
  1.         try {
  2.             process = Runtime.getRuntime().exec("sh");
  3.             dataOutputStream = new DataOutputStream(process.getOutputStream());

  4.             dataOutputStream.writeBytes("echo '1' > " + ledUrl + this.led + "\n");
  5.             dataOutputStream.flush();
  6.             dataOutputStream.close();

  7.         } catch (IOException e) {
  8.             e.printStackTrace();
  9.         }
复制代码
附上代码:
Led.java.zip (522 Bytes, 下载次数: 6)

0
分享淘帖 显示全部楼层

评论

高级模式
您需要登录后才可以回帖 登录 | 注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
发资料
关闭

站长推荐 上一条 /7 下一条

快速回复 返回顶部 返回列表