|
同时改变OV9712的EX、AG寄存器时,会有意想不到的结果。
我的理解是EX、AG寄存器都固定的时候,图像的亮度就是固定的,但是事实却非如此。
屏蔽所有关于自动曝光的操作,通过手动I2C操作EX、AG相关寄存器:
曝光1:EX=0cf,AG=0c
regAddr[0] = AEC; regValue[0] = cf;
regAddr[1] = AECH;regValue[1] = 00;
regAddr[2] = GAIN;regValue[2] = 0c;
status = DRV_i2cWrite8(&gDRV_imgsObj.i2cHndl, regAddr, regValue, 3);
曝光2:EX=19d,AG=00
regAddr[0] = AEC; regValue[0] = 9d;
regAddr[1] = AECH;regValue[1] = 01;
regAddr[2] = GAIN;regValue[2] = 00;
status = DRV_i2cWrite8(&gDRV_imgsObj.i2cHndl, regAddr, regValue, 3);
在曝光1的情况下,配置曝光2的参数,图像会暗一下,然后变亮,此后一直正常;
在曝光2的情况下,配置曝光1的参数,图像会亮一下,然后变暗,此后一直正常;
我曾经怀疑是DRV_i2cWrite8写一个字节花的时间较长,但是通过AG保持不变、只操作EX,发现图像正常:
曝光3:EX=0cf,AG=00
regAddr[0] = AEC; regValue[0] = cf;
regAddr[1] = AECH;regValue[1] = 00;
regAddr[2] = GAIN;regValue[2] = 00;
status = DRV_i2cWrite8(&gDRV_imgsObj.i2cHndl, regAddr, regValue, 3);
曝光4:EX=19d,AG=00
regAddr[0] = AEC; regValue[0] = 9d;
regAddr[1] = AECH;regValue[1] = 01;
regAddr[2] = GAIN;regValue[2] = 00;
status = DRV_i2cWrite8(&gDRV_imgsObj.i2cHndl, regAddr, regValue, 3);
EX、AG我是连续写到sensor里面。是不是EX、AG不能同时操作呢?
不知道各位大侠,有没有一些指点给我呢? |
|