我公司一年多以来一直在使用 HTS221 组件,数以千计。
在极少数部分,我们观察到 HTS221 传感器处于未就绪状态:我们在读取其输出数据寄存器之前请求其状态,以确保传感器有新的测量值要发送。我们尚未确定会产生此类错误的任何特定环境模式。
这是配置:
- CTRL_REG1: BDU =1 和 ODR1,ODR2 = 11 (12.5Hz)
- 所有其他配置寄存器都处于默认配置状态(我们不配置它们,只初始化 CTRL_REG1)。
由于中断,我们每秒测量一次输出寄存器(是的,为什么输出数据速率为 12.5Hz?我会将其更改为 1Hz,但这不应该是卡住问题的原因,不是吗?)
如果传感器没有任何数据准备好(状态寄存器 H_DA 和 T_DAT 等于 0),我们每毫秒向其状态寄存器发送一个新的读取命令。在 800 次迭代(大约 800 毫秒)之后,我们引发了一个错误。
这个状态读取状态的频率是不是太高了,让他没有时间进行新的测量?
老实说,我不负责固件开发,我会做不同的事情,但仍然不应该有任何错误,所以我试图找出原因。
任何的想法 ?
额外问题:
- 如果在 BDU = 1 模式下,我们不读取 MSB 和 LSB 会怎样?传感器没有发起新的采集,然后不再更新输出数据寄存器?
- 如果输出数据速率为 12.5Hz 并且对 2 个样本 (AV_CONF) 进行平均,这意味着每 12.5Hz,传感器将启动 2 次采集,这将被平均?这两次收购之间的时间间隔是多少?