#!/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. try、catch、finally的使用分析---与 return 相关

    看了一篇文章,讲解的是关于java中关于try.catch.finally中一些问题 下面看一个例子(例1),来讲解java里面中try.catch.finally的处理流程   1 2 3 4 5 ...

  2. 抄书(UVa714)

    Description   Before the invention of book-printing, it was very hard to make a copy of a book. All ...

  3. tablib源代码学习

    tablib简介 ----------- Tablib is a format-agnostic tabular dataset library, written in Python. Tablib ...

  4. 【学习总结】【多线程】 线程 & 进程 & NSThread(多线程的一套API)

    一.进程和线程 1.什么是进程 进程是指在系统中正在运行的一个应用程序 每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内 比如同时打开 Chrome.Xcode,系统就会分别启动2个进 ...

  5. TF/IDF计算方法

    FROM:http://blog.csdn.net/pennyliang/article/details/1231028 我们已经谈过了如何自动下载网页.如何建立索引.如何衡量网页的质量(Page R ...

  6. 在scrollView中使用pageControl

    在scrollView中使用pageControl 要这样才能效果好,合理而且人性化 -(void)scrollViewDidScroll:(UIScrollView *)scrollView{ if ...

  7. Castle ActiveRecord简单介绍

    Castle ActiveRecord框架是一个基于.NET的ORM框架,它实现了ActiveRecord设计模式.它本身就是基于NHibernate,只是封 装了NHibernate的大部分烦杂细节 ...

  8. QR code 金庸小说体(二)

    传说 在二维码世纪,流传着这样一个传说,long long ago,武林一片混乱,这时魔教二长老创立了一门绝世武功——QR code,随后称霸武林.但同时也遭到武林中人的觊觎和反抗,各大武林正派掌门人 ...

  9. 1061: [Noi2008]志愿者招募 - BZOJ

    Description 申奥成功后,布布经过不懈努力,终于成为奥组委下属公司人力资源部门的主管.布布刚上任就遇到了一个难题:为即将启动的奥运新项目招募一批短期志愿者.经过估算,这个项目需要N 天才能完 ...

  10. nginx几个知识点汇总

    WHY? 为什么用Nginx而不用LVS? 7点理由足以说明一切:1 .高并发连接: 官方测试能够支撑 5 万并发连接,在实际生产环境中跑到 2 - 3 万并发连接数.?2 .内存消耗少: 在 3 万 ...