摄像头ov2685中关于sensor id 设置的相关的寄存器地址-阿里云开发者社区

开发者社区> IoT> 正文
登录阅读全文

摄像头ov2685中关于sensor id 设置的相关的寄存器地址

简介: OV2685 :      CHIP_ID       address : 0x300A    default : 0x26      address : 0x300B    default : 0x85      address : 0x300C    defailt  : 0x0...

OV2685 :

     CHIP_ID 

     address : 0x300A    default : 0x26

     address : 0x300B    default : 0x85

     address : 0x300C    defailt  : 0x00

回到早上的话题,如果我想查看摄像头的ID,我的代码可以这么写,在GPL329A-sensor-ID设置那里有完整的代码,这里我只给出小部分:

sensor_info.write_data[0] = 0x30;  
sensor_info.write_data[1] = 0x0a;  
sensor_info.write_size = 2;
sensor_info.read_size = 2;
ret = ioctl(fd, I2C_BUS_WRITE_READ, &sensor_info);
if(ret < 0)
{
<span style="white-space:pre">	</span>perror("ioctl set i2c arg\n");
	continue;
 }	
	readdevice = (sensor_info.read_data[0] << 8) + sensor_info.read_data[1];

	//	if( readdevice == 0x2656)
	if(readdevice == 0x2685)
	{
		DEBUG("I2C_BUS_WRITE_READ data = 0x%02x\n", readdevice);
		i = MAX_DEVICE + 1;
	<span style="white-space:pre">	</span>deviceno = 2;
	}
	else
	{
		printf("Error I2C_BUS_WRITE_READ data = 0x%02x\n", readdevice);
	}
从代码上看:
sensor_info.write_data[0] = 0x30;  
sensor_info.write_data[1] = 0x0a;
这个结构体数组的含义就是为了存储这两个寄存器的值,然后后面通过I2C总线去读取地址所对应的值,如果读出来的值为0x2685,这就说明设备已经被驱动了,同时也读出了相应的ID号。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: