https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/1541874/opt4048-opt4048dtsr
器件型号:OPT4048工具/软件:
我正在使用 OPT4048 光传感器来测量光亮度和 CCT 值。 我正在读取 0x0、0x2、0x04、0x06 寄存器、我要执行的转换步骤如下所示
I2C_Transfer_Deft Return_Type = I2C_TRANSACTION (I2C_FLAG_WRITE_READ、OPT4048_I2C_BUS_ADDRESS、1、数据、 3);
if (ret != i2cTransferDone){
*通道[i]= 0;
返回 false;
}
uint8_t EXPONENT =(DATA[0]>>4)& 0x0F;
uint32_t MANTISSA =(((DATA[0]和 0x0F)<< 16)|(DATA[1]<< 8)| DATA[2];
*通道[i]= MANTISSA * 0.00215f * POW(2,指数);
我正在接收来自通道 0 的光数据、并使用通道 1、2、3 数据进行 CCT 计算。
但我面临的问题是、即使光强度发生变化、每次读数都是恒定的。
重新启动器件后、会更新正确的读数。 在配置寄存器中、我正在使用连续模式、通过{0x0A、0x0C、0x9F}写入 config reg
我是否需要添加更多延迟、或者应该使用中断引脚来获得更新的读数?