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.

[参考译文] HDC2021:状态寄存器中的 DRDY_STATUS 从不变为高电平 温度寄存器一直读取0x00、0x00。

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1018701/hdc2021-drdy_status-never-goes-high-in-status-reg-temperature-registers-always-read-0x00-0x00

器件型号:HDC2021

我们尝试通过 I2C 总线从器件获取温度读数、但始终读为零。

已确认我们使用时钟和数据信号上的示波器读取的内容。  此外、我们从寄存器0xFC、0xFD、0xFE、0xFF 读取预期数据。

下面是我们尝试的序列:

0x82、0x0E、0x80 (软复位)

0x82、0x07、0x80 (DRDY_ENABLE = 1)

0x82、0x0E、0x54 (每秒1次采样、启用 DRDY 引脚)

0x83、0x04、读取1个字节(无论我们读取多少次、数据位7始终为0)

下面是我们尝试的第二个序列(跳过读取状态位):

0x82、0x0E、0x80 (软复位)

0x82、0x07、0x80 (DRDY_ENABLE = 1)

0x82、0x0E、0x54 (每秒1次采样、启用 DRDY 引脚)

0x83、0x00、读取2个字节(数据始终为0)

下面是我们尝试的第三个序列(单次触发):

0x82、0x0E、0x80 (软复位)

0x82、0x07、0x80 (DRDY_ENABLE = 1)

0x82、0x0E、0x04 (单次触发、启用 DRDY 引脚)

0x83、0x00、读取2个字节(数据始终为0、无论我们继续读取多长时间)

我们是否应该使用序列来获取有效的温度读数和 DRDY_STATUS 位?

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

    您好、Charles、

    请回答以下问题以帮助我解决此问题:  

    1. 工作电源电压是多少?  
    2. ADDR 引脚是否连接到 VDD?
    3. 您能否分享显示此行为的示波器截图?

    此致、
    Pavani Tenneti

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

    我们添加了对测量配置寄存器(0x0F)的写入、现在从温度寄存器获取非零数据。

    0x82、0x0E、0x80 (软复位)

    0x82、0x07、0x80 (DRDY_ENABLE = 1)

    0x82、0x0E、0x04 (单次触发、启用 DRDY 引脚)

    0x82、0x0F、0x01 (MEAS_TRIG)

    0x83、0x00、读取2个字节