评估 DRDY 位以确定新转换数据何时可读出。使用以下两种方法之一评估 DRDY 位:
- 控制器定期读取 STATUS_MSB 寄存器以轮询 DRDY 位。如果设置了 DRDY 位,表示新的转换结果已随时可供检索,控制器随后发出 RDATA 命令来检索数据。
- 在启用 STATUS 标头输出的情况下,主机定期发出 RDATA 命令,以在同一 I2C 事务中接收 STATUS 标头以及转换数据。如果该事务中的 DRDY 位读取为 1b,则接收到的转换数据是新数据。如果 DRDY 位为 0b,则主机会丢弃该事务中接收到的转换数据,因为之前已读取相同的转换结果。此外,作为 STATUS 标头的一部分发送的转换计数器可指示在当前 I2C 事务中检索到的转换计数。主机控制器可以评估转换计数器,以了解主机是多次读取同一转换结果,还是主机错过了读取转换结果。
为了避免丢失数据,至少像对输出数据速率那样频繁地评估 DRDY 位。