zl程序教程

您现在的位置是:首页 >  后端

当前栏目

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

地址寄存器 设置 关于 相关 ID 摄像头 sensor
2023-09-27 14:28:47 时间

     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 /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 /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号。


同时使用两片I2C同型号设备时地址怎样设置 有时候 可能 需要同时使用 多个同型号i2C的器件,这就需要 我们 更改 器件的物理地址。 同时使用两片pcf8591时地址怎样设置,也就是如何更改 器件地址。以pcf8591 为例子 以下 为PCF8591 的引脚图 可以根据引脚图对比实物图 找到 对应的3个地址引脚A0、A1和A2用于编程硬件地址。如右图所示 A0 A1 A2 默认是连在一起的然后接地的 即 是低电平 0 。所以 我们需要改变这种状态 根据 你想改变的地址 来改变 A0 A1 A2 的高低电平 比如 将A0 置为高电平,即置为 1
morixinguan ITGEGE在线教育嵌入式开发讲师。 CSDN博客专家、CSDN-Linux特邀编辑、CSDN博乐、CSDN学院讲师,目前从事嵌入式开发领域,从事与单片机,Linux,android相关的产品开发。