我们尝试通过 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 位?