mtk android ,gpio控制

按键灯,使用gpio 140控制。 high=灯亮
adb shell
root@android:/sys/devices/virtual/misc/mtgpio # cat pin
PIN: [MODE] [PULL_SEL] [DIN] [DOUT] [PULL EN] [DIR] [INV] [IES]
140:0000010-1
root@android:/sys/devices/virtual/misc/mtgpio # echo "-w=140:0 0 0 1 0 1 0" > pin
root@android:/sys/devices/virtual/misc/mtgpio # cat pin
140:0011010-1
root@android:/sys/devices/virtual/misc/mtgpio # echo "-w=140:0 0 0 0 0 1 0" > pin
root@android:/sys/devices/virtual/misc/mtgpio # cat pin
140:0000010-1

1 PIN: [MODE模式,0表示是GPIO模式]
2 [PULL_SEL上拉]
3 [DIN]
4 [DOUT输出电压/ 1表示高电压(1.8V/2.8V..) ,0是低电压]
5 [PULL EN上拉使能] 
6 [DIR输入上接  方向(决定3,4才有效)] 
7 [INV]
8 [IES]

这个/sys/devices/virtual/misc/mtgpio/pin是一个设备,能接收-w这样的参数。(设备里,有函数接收处理这些参数)

在C上,使用system("echo "-w=140:0 0 0 1 0 1 0" > /sys/devices/virtual/misc/mtgpio/pin");
可能里面的中间的引号需要转义字符\在前面。 

在android上File f=new File("/sys/devices/virtual/misc/mtgpio/pin");
String strValue="-w=140:0 0 0 1 0 1 0";
FileOutputStream fout;
fout= new FileOutputStream(filename,false);
fout.write(strValue.getBytes("uft-8"), 0, 1);
fout.close();

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   ...
    android:sharedUserId="android.uid.system">

-----------------------GPIO---------------------------------
1、读取控制pmic 寄存器的值班:
怎么用adb读取pmic6329(mtk6573平台)寄存器的值 , 控制pmic 寄存器
通过adb命令进入/sys/devices/platform/mt-pmic

2、读取和修改GPIO配置参数的ADB命令
1)、读取每个GPIO的参数
adb shell cat /sys/devices/virtual/misc/mtgpio/pin
打印出来的参数从左到右分别是Pin:mode pullsel din dout pullen dir dinv(inversion)
 
2)、修改GPIO的参数
adb shell echo -w=[pin]:[mode] [pullsel] [din] [dout] [pullen] [dir] [dinv] >
/sys/devices/virtual/misc/mtgpio/pin
以上命令是对GPIO的所有参数进行一次性的配置,也可以使用如下命令对每个参数进行单独的配置:
adb shell echo -w$param[pin] [value] > /sys/devices/virtual/misc/mtgpio/pin
$param可以是这些字符串:mode psel dout pen dir dinv,分别设置GPIO的模式,内部Pull Select,data out,Pull Enable,Direction,data inversion
如:adb shell echo -wdout122 1 > /sys/devices/virtual/misc/mtgpio/pin 表示GPIO122输出高电平

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值