i2c-tools 使用集锦
1. 简介i2c-tools 是linux的一个工具,使用他,可以在命令行进行 i2c/SMBus 设备的用户层访问。2. 实例2.1查看某总线上所有 i2c adapter:> i2cdetect -l2.2 罗列出每个 adapter 上设备地址的有效性> i2cdetect -y <num>这个例子中 标记UU 的,表示这个地址上有个设备是有效的。即,当向这个地址发送
1. 简介
i2c-tools 是linux的一个工具,使用他,可以在命令行进行 i2c/SMBus 设备的用户层访问。
2. 实例
2.1 查看某总线上所有 i2c adapter:
> i2cdetect -l
2.2 罗列出每个 adapter 上设备地址的有效性
> i2cdetect -y <num>
这个例子中 标记UU 的,表示这个地址上有个设备是有效的。即,当向这个地址发送询问时有应答。
这个例子中有三个地址是有效的,0x1b、0x40、0x41
2.3 读取一个 7位地址 的器件的寄存器
> i2cget -f -y <num> <i2cbus chip address> <data address>
> i2cget -f -y 0 0x40 0 (这个器件地址是0x40,读 0寄存器)
2.4 给 一个 7位地址 的器件中的寄存器 写值
> i2cset -f -y <num> <i2cbus chip address> <data address> <data>
> i2cset -y 0 0x50 0x00 0x10 (往0地址上写0x10)
2.5 给一个 10位地址 的器件 写值 (驱动中是16位地址模式),这个命令只有在i2c-tools4.0之后才有
> i2ctransfer -y -f 0 w2@0x1d 0x00 0x20 r3
w2, 写入两字节,就是在数据线上要传输的字节数量
0x1d, 是器件地址,实际在总线上会发送 { 0x1d << 1 | [ 读写位 ] }
0x00 0x22, 共同组成0x0020这个寄存器的地址
r3,表示读3字节
> i2ctransfer -y -f 0 w4@0x1d 0x00 0x02 0x77 0x77
w4,表示数据线上传输4字节
0x00 0x02,表示寄存器地址
0x77, 第一个数据
0x77, 下一个地址上写
3. 有意义的网站
更多推荐
所有评论(0)