linux i2c工具移植,i2c-tools的移植和使用

ARM-linux-gnueabihf-gcc

LDFLAGS += -static

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

699ba7046c51816a17b33a7caa85f179.png

0

befd55929eb5666354dfa35bc455f0d6.png

已退回1积分

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值