【问题标题】:How can I get i2cget to read a word?如何让 i2cget 读取一个单词?
【发布时间】:2019-06-04 15:17:15
【问题描述】:

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 让我直截了当

【问题讨论】:

    标签: i2c


    【解决方案1】:

    用法:i2cget [-f] [-y] I2CBUS CHIP-ADDRESS [DATA-ADDRESS [MODE]]

    你的例子:i2cget -y 2 0x28 w

    在你的情况下DATA-ADDRESS 是什么?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-09
      • 2011-04-14
      • 1970-01-01
      • 1970-01-01
      • 2011-06-02
      • 1970-01-01
      • 1970-01-01
      • 2012-09-23
      相关资源
      最近更新 更多