This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AFE4404:读取 AFE4404中的非输出寄存器

Guru**** 2390735 points
Other Parts Discussed in Thread: AFE4404

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/711187/afe4404-reading-non-output-registers-in-afe4404

器件型号:AFE4404

您好!  

我一直在使用 AFE4404 + SFH7050传感器、一切看起来都正常。 我通过 Arduino 对其进行控制、并能够从 AFE 获取 CLKOUT 和输出 LED 值。 但是、即使在我启用 REG_READ 之后、其他寄存器值也始终返回零。  

我需要了解以下信息:

-在 i2c 操作中,在读取特定寄存器(e、g、reg 0x23)之前,我是否应该执行一个写入 i2c_write (0x00、0x01)来启用读取,然后可能需要等待一段时间,然后写入目标寄存器,然后请求3个字节? 我完全执行了该操作、刚刚接收到零。  

-写入 REG_READ 后、是否应跳过在 i2c 总线上发送启动标志并写入目标寄存器? 我没有尝试过。  

- REG_READ 将保持启用状态、并且只需要设置一次、或者每次我想读取寄存器时都需要执行该操作?

谢谢、

Mona

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Mona、

    以下是读取寄存器的正确顺序。
    1) 1)设置 REG_READ 位。 即 I2C_Write (0x00、0x000001)
    2) 2)读取所需的寄存器 I2C_Read (0x23)//
    3) 3)读取所需的寄存器 I2C_Read (0x1D)//设置 REG_READ 后、可以读取多个寄存器。
    4) 4)复位 REG_READ 位。 即 I2C_Write (0x00、0x000000)

    现在、函数"I2C_Write"和"I2C_Read"应分别生成数据表图30和31中给出的波形。

    此致、
    Prabin。