优化MAX44007环境光传感器,改善黑色玻璃的设计性能
注:随后读取寄存器0x0C (上述写操作之后),仍然读回0101 1001,因为IC在数据保存到这些高级寄存器之前进行了内部自动位翻转。
保留IRGainC值,供将来使用。
5.必要时,为门限定时寄存器0x07设置一个合适的延迟。
6.设置INTE = 1 (寄存器0x01),使能中断。
进入正常工作模式
按以下步骤进入正常测量模式。
7.读取寄存器0x03和0x04,获得12位的流明读数。
将数值保存为ComboLux。
8.向寄存器0x0C写入0000 0000,进入临时测量模式。
9.等待至少1.6s (2x 800ms)。
如果需要,可联系Maxim缩短这一时间。
10.读取寄存器0x03和0x04,获得12位的流明读数。
将数值保存为ApproxLux。
11.向寄存器0x0C写入IRGainC,退出临时测量模式。
12.计算:ActualLux =ApproxLux - IRFactor × (ApproxLux - ComboLux)
AcutalLux为实际环境光读数。
ApproxLux = ComboLux,近似荧光灯和WLED灯。
ApproxLux > ComboLux,通常为白炽灯和太阳光。
若需计算合适的IRFactor,请联系Maxim应用支持,并提供玻璃样本。可直接从实验室测试获得数据。
13.根据上面计算的ActualLux,设置相应的背光强度。
14.将ComboLux作为参考(器件的正常工作模式),设置相应的流明上限(寄存器0x05)和流明下限(寄存器0x06)。
15.执行INTS位(寄存器0x00)空读操作,清除所有中断(若之前已置位)。
16.等待硬件中断。
此时程序占用时间最长。
17.发生硬件中断后,读取寄存器0x00,确认INTS = 1。
如果INTS = 1,则转至上面的第7步。
否则,如果INTS = 0,在检查其它硬件中断源后,返回至第16步。
评论