#!/system/bin/busybox ash

#
# I.MX6 Android Linux shell MMPF0100 i2c 获取数据
# 说明:
# 本文主要记录通过shell脚本来获取MMPF0100的数据,更多的是为了更为
# 方便的获取到数据,在进行一些调试的时候能够更有效。
#
# -- 深圳 南山平山村 曾剑锋
# # 检查参数个数
if [ $# -lt ]; then
echo "USAGE:"
echo " i2cData.sh <curPage> <firstAddress(hex)> <byteCount(hex)>"
exit
fi curPage=$ # 从第几页开始获取
byteCount=$(($)) # 一次获取多少个字节
firstAddress=$(($)) # 获取字节的首地址 i2cBusNumber= # 采用哪个i2c总线
deviceAdress="0x08" # i2c设备地址
pageRegAddress="0x7f" # 存放页的寄存器地址 # 设置MMPF0100地址页
./i2cset -f -y $i2cBusNumber $deviceAdress $pageRegAddress $curPage # 显示一些参数
echo " currentPage : $curPage"
echo " firstAddress : $firstAddress"
echo " byteCount : $byteCount"
echo " i2cBus : /dev/dev-i2c$i2cBusNumber"
echo " deviceAdress : $deviceAdress"
echo "pageRegAddress : $pageRegAddress"
echo # 显示行对应的数
busybox printf " 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F"
echo # i是计数变量
i=$firstAddress
firstLine=true # 用于判断第一行是否需要填充0
while [ $i -lt $(($byteCount+$firstAddress)) ]
do
# 16个字节一行,换行并输出行号
if [ $((i%)) -eq ];then
busybox printf "\n0x%x0 " $((i/))
firstLine=false
else
# 用于填充一行前面的0,更多的方便16进制查看数据
if $firstLine ;then
padZero=$((i%))
busybox printf "\n0x%x0 " $padZero # 循环填充数据
j=
while [ $j -lt $padZero ]
do
busybox printf ""
j=$((j+)) done
firstLine=false
fi
fi # 读取数据
data=`./i2cget -f -y $i2cBusNumber $deviceAdress $i`
busybox printf " %02x" $data i=$((i+))
done echo # 输出结果:
# root@android:/data/local # ./i2cData.sh 0x10 0x50
# currentPage :
# firstAddress :
# byteCount :
# i2cBus : /dev/dev-i2c1
# deviceAdress : 0x08
# pageRegAddress : 0x7f
#
# 0A 0B 0C 0D 0E 0F
#
# 0x10 3f
# 0x20 2b 1b 2b 0c c4 2b 1b
# 0x30 2b 0c c4 0c d4 2c 2c 2c 0c
# 0x40 e4 2c 2c 2c 0c e4 6f 6f 6f 0c f4
# 0x50
# root@android:/data/local #

I.MX6 Android Linux shell MMPF0100 i2c 获取数据的更多相关文章

  1. I.MX6 Android Linux shell MMPF0100 i2c 设置数据

    #!/system/bin/busybox ash # # I.MX6 Android Linux shell MMPF0100 i2c 设置数据 # 说明: # 本文主要记录通过shell脚本来设置 ...

  2. I.MX6 Android Linux UART send receive with multi-thread and multi-mode demo

    /******************************************************************************************* * I.MX6 ...

  3. android linux shell 日期设置

    /************************************************************************ android linux shell 日期设置 * ...

  4. I.MX6 Android shutdown shell command

    /******************************************************************************* * I.MX6 Android shu ...

  5. Linux shell自动读mongo数据、远程获取文件大小示例脚本

    1.示例1 功能:对mongoDB导出数据,根据sid的不同状态进行统计 技术点:shell bash  读写文件.字符串截取.函数.用多个文件提到的map.grep查找并赋值给变量 #!/bin/b ...

  6. Linux Shell脚本中获取本机ip地址方法

    ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"​ 命令解释 ...

  7. linux shell通过curl获取HTTP请求的状态码

    直接上代码: curl -I -m -o /dev/null -s -w %{http_code} www.baidu.com 参数说明: -I 仅测试HTTP头 -m 10 最多查询10s -o / ...

  8. android与c#之间scoket获取数据进行赋值显示的问题

    Android端发送的信息为:“手机号码,低压,高压,心率”. 需要实时的将接收到的信息显示到“数据栏”中,但是在执行监听任务的时候,启用了一个主线程,在接收数据的时候直接将数值复制给文本框会出现错误 ...

  9. linux shell获取键盘输入

    linux shell从键盘获取输入 代码1: #!/bin/bash #提示“Input your choice:”,把用户的输入保存入变量choice_user中read -p "Inp ...

随机推荐

  1. 《WPF程序设计指南》读书笔记——第6章 Dock与Grid

    1.DockPanel面板 using System; using System.Windows; using System.Windows.Controls; using System.Window ...

  2. 1061. Dating (20)

    #include <stdio.h> #include <map> #include <string.h> #include <ctype.h> usi ...

  3. oracle中的隐式提交(auto commit)

    通常我们执行sql或pl/sql时,需要我们手工提交.这样才能使所做的更改永久保存到数据库. 但有时即使我们没有在sql或pl/sql中发出commit命令,所做的更改也会被提交.这种提交是在某些特定 ...

  4. 蜗牛历险记(二) Web框架(上)

    接上篇所说,本篇主要内容是讲述如何使用Autofac来管理整个平台的生命周期(初级). 一.简述 插件式Web开发的同学应该还会记得PreApplicationStartMethod这个Assembl ...

  5. 一步步学习NHibernate(9)——连接查询和子查询(1)

    请注明转载地址:http://www.cnblogs.com/arhat 在前几章中,我们把HQL的基本查询学习了一下,但是只有基本查询很显然不能满足我们的需求,那么就需要一下复杂查询比如" ...

  6. cocos2dx游戏资源加密之XXTEA

    在手机游戏当中,游戏的资源加密保护是一件很重要的事情. 我花了两天的时间整理了自己在游戏当中的资源加密问题,实现了跨平台的资源流加密,这个都是巨人的肩膀之上的. 大概的思路是这样的,游戏资源通过XXT ...

  7. 我的WebX框架学习总结与心得分享

    最近学习了webx框架, 利用博客园跟大家分享一下自己的学习心得; 周建旭 2014-08-21 网上关于webx的资料少的可怜, 怎么办?  这种情况下不用去求助别人求人只会耽误时间, 不用畏惧; ...

  8. PAT-乙级-1009. 说反话 (20)

    1009. 说反话 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 给定一句英语,要求你编写程序,将句中 ...

  9. 认识OD的两种断点

    OllyDBG从原理上来区分,有两种不同的断点:软件断点和硬件断点. 也许会有朋友说那不是还有内存断点吗? 内存断点严格来说是属于一种特殊的软件断点. 内存断点: 内存断点每次只能设置一个,假如你设置 ...

  10. Discuz使用tools修复数据文件后,访问URL多出/source/plugin/tools,导致文章栏目无法访问

    今天我的婚嫁亲子网数据库出了点错误,于是就用dz官方的tool工具修复了以下,然后就发生了这个错误.. 本来频道页面的地址是:http://www.ifen8.com/article/ 结果自动跳转成 ...