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

本文转载自:http://blog.csdn.net/morixinguan/article/details/51220992

OV2685 :

     CHIP_ID 

     address : 0x300A    default : 0x26

     address : 0x300B    default : 0x85

     address : 0x300C    defailt  : 0x00

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

 

[cpp]  view plain  copy
 
 print?
  1. sensor_info.write_data[0] = 0x30;    
  2. sensor_info.write_data[1] = 0x0a;    
  3. sensor_info.write_size = 2;  
  4. sensor_info.read_size = 2;  
  5. ret = ioctl(fd, I2C_BUS_WRITE_READ, &sensor_info);  
  6. if(ret < 0)  
  7. {  
  8. <span style="white-space:pre">    </span>perror("ioctl set i2c arg\n");  
  9.     continue;  
  10.  }    
  11.     readdevice = (sensor_info.read_data[0] << 8) + sensor_info.read_data[1];  
  12.   
  13.     //  if( readdevice == 0x2656)  
  14.     if(readdevice == 0x2685)  
  15.     {  
  16.         DEBUG("I2C_BUS_WRITE_READ data = 0x%02x\n", readdevice);  
  17.         i = MAX_DEVICE + 1;  
  18.     <span style="white-space:pre">    </span>deviceno = 2;  
  19.     }  
  20.     else  
  21.     {  
  22.         printf("Error I2C_BUS_WRITE_READ data = 0x%02x\n", readdevice);  
  23.     }  

从代码上看:

[cpp]  view plain  copy
 
 print?
  1. sensor_info.write_data[0] = 0x30;    
  2. sensor_info.write_data[1] = 0x0a;  

这个结构体数组的含义就是为了存储这两个寄存器的值,然后后面通过I2C总线去读取地址所对应的值,如果读出来的值为0x2685,这就说明设备已经被驱动了,同时也读出了相应的ID号。

转载于:https://www.cnblogs.com/zzb-Dream-90Time/p/7605389.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值