i2c-tools的移植和使用

转载地址:http://bbs.elecfans.com/jishu_516292_1_1.html

1 下载i2c-tools-3.1.1.tar.bz2

2 解压后修改Makefile
  CC =arm-linux-gnueabihf-gcc
  LDFLAGS += -sta tic
3 make
  成功后会在tools目录下生成
  i2cdetect i2cdump i2cget i2cset等工具
  
----------------------------------------
工具的具体使用方法
1 列出所有的I2C设备总线
sudo ./i2cdetect -l
输出如下:
i2c-0   i2c             sunxi-i2c.0                             I2C adapter
i2c-1   i2c             sunxi-i2c.1                             I2C adapter
i2c-2   i2c             sunxi-i2c.2                             I2C adapter
i2c-10  i2c             sunxi-hdmi-i2c                          I2C adapter
2 扫描I2C总线上的所有设备2代表第二根总线
sudo ./i2cdetect -y 2
输出如下:
0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: 50 51 -- 53 -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --
在第二根总线上有3个I2C 设备地址分别为0x50 0x51 0x53
3 列出设备的所有寄存器值
sudo ./i2cdump -y 2 0x53
列出在第二根总线上地址为0x53的设备的从地址00到ff的所有寄存器值
输出如下:
No size specified (using byte-data access)
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: 00 00 ff 06 02 00 00 00 00 00 00 00 00 00 00 05    ...??..........?
10: 00 00 00 00 00 00 00 00 00 00 53 00 02 00 00 00    ..........S.?...
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
30: 0f 01 31 67 68 3e 38 39 0d fd b2 00 00 91 61 4e    ??1gh>89???..?aN
40: 82 2f 6d 47 25 dc 01 84 ff 00 00 00 00 00 00 00    ?/mG%???........
50: 00 7c c9 e4 67 00 00 00 00 00 00 00 00 00 00 00    .|??g...........
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................rq
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
80: 00 00 ff 06 02 00 00 00 00 00 00 00 00 00 00 05    ...??..........?
90: 00 00 00 00 00 00 00 00 00 00 53 00 02 00 00 00    ..........S.?...
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
b0: 0f 01 31 c6 75 35 4a 38 07 f7 b1 00 00 93 60 4d    ??1?u5J8???..?`M
c0: 82 2f 6d 47 25 dc 01 84 ff 00 00 00 00 00 00 00    ?/mG%???........
d0: 00 7d ca e6 66 00 00 00 00 00 00 00 00 00 00 00    .}??f...........
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
4 写寄存器值
sudo ./i2cset -y 2 0x53 0xb1 0xff
-y: 取消用户交互,直接执行
2: I2C设备总线
0x53:I2C设备地址
0xb0:寄存器地址
0xff:要写入的值
5 查看写入的是否正确可以用i2cget
-------------------------------
如果寄存器存放的是16bits数据,则需要指定w字宽度
./i2cdump -y 2 0x53 w
输出如下
     0,8  1,9  2,a  3,b  4,c  5,d  6,e  7,f
00: 0000 0000 01ff 0006 0002 0000 0000 0000
08: 0000 0000 0000 0000 0000 0000 0000 0005
10: 0000 0000 0000 0000 0000 0000 0000 0000
18: 0000 0000 0053 0000 0002 0000 0000 0000
20: 0000 0000 0000 0000 0000 0000 0000 0000
28: 0000 0000 0000 0000 0000 0000 0000 0000
30: 010f 0101 2f24 00e2 02dd 0420 0655 0093
38: 002c ffd0 fecd 0075 fdc6 18d1 f2db f179
40: 0dd1 0828 0866 0b48 0924 8cec 0001 f6ae
48: ffff 0000 0000 0000 0000 0000 0000 0000
50: 0000 77b5 21cd e5fd f0b1 0000 0000 0000
58: 0000 0000 0000 0000 0000 0000 0000 0000
60: 0000 0000 0000 0000 0000 0000 0000 0000
68: 0000 0000 0000 0000 0000 0000 0000 0000
70: 0000 0000 0000 0000 0000 0000 0000 0000
78: 0000 0000 0000 0000 0000 0000 0000 0000
80: 0000 0000 01ff 0006 0002 0000 0000 0000
88: 0000 0000 0000 0000 0000 0000 0000 0005
90: 0000 0000 0000 0000 0000 0000 0000 0000
98: 0000 0000 0053 0000 0002 0000 0000 0000
a0: 0000 0000 0000 0000 0000 0000 0000 0000
a8: 0000 0000 0000 0000 0000 0000 0000 0000
b0: 010f 0101 2f24 0114 02bb 0406 068c 0037
b8: 000d ffd4 fecd 0075 fdc5 18d4 f2d9 f177
c0: 0dd1 0828 0866 0b48 0924 8cec 0001 f6ae
c8: ffff 0000 0000 0000 0000 0000 0000 0000
d0: 0000 77b2 21d1 e5f6 f0b0 0000 0000 0000
d8: 0000 0000 0000 0000 0000 0000 0000 0000
e0: 0000 0000 0000 0000 0000 0000 0000 0000
e8: 0000 0000 0000 0000 0000 0000 0000 0000
f0: 0000 0000 0000 0000 0000 0000 0000 0000
f8: 0000 0000 0000 0000 0000 0000 0000 0000
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值