我如何让i2cget读取单词?

时间:2019-06-04 15:17:15

标签: i2c

i2cget不喜欢w模式

无法让i2cget读取单词。不会接受w模式。

root@spring:~#

root@spring:~# i2cget -V  
i2cget version 3.1.2

root@spring:~# i2cget -y 2 0x28  
0x1b

root@spring:~# i2cget -y 2 0x28 w  
Error: Data address invalid!
Usage: i2cget [-f] [-y] I2CBUS CHIP-ADDRESS [DATA-ADDRESS [MODE]]
  I2CBUS is an integer or an I2C bus name
  ADDRESS is an integer (0x03 - 0x77)
  MODE is one of:
    b (read byte data, default)
    w (read word data)
    c (write byte/read byte)
    Append p for SMBus PEC

root@spring:~#

在Beaglebone Green上运行Debian 9.7版 读取霍尼韦尔压力传感器:

  

要读取补偿压力读数,主机会生成一个START条件,并发送传感器从机地址,后跟一个读取位(如图2所示)。传感器生成确认后,它将传输多达4个字节的数据-前两个字节包含补偿压力输出,后两个字节包含可选的补偿温度输出。
  主机必须确认每个字节的接收,并且可以通过在接收到两个字节的数据后发送一个不应答(NACK)位和一个停止位来终止通信,如图2所示。

啊,答案是我没有输入数据地址。

i2cget -y 2 0x28 0x28 w
产量
0xd517

感谢domen让我挺直

1 个答案:

答案 0 :(得分:1)

用法:i2cget [-f] [-y] I2CBUS芯片地址[数据地址[模式]]

您的示例:i2cget -y 2 0x28 w

您的情况下DATA-ADDRESS是什么?