摄像头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号。

目录
相关文章
|
存储 运维 数据挖掘
技术干货:腾讯云为什么选择磁带库?
随着全球冷数据的持续爆炸,以及磁带介质数据密度提升的巨大潜力,磁带库的前景充满想象力。这篇文章讲述了磁带库在腾讯大规模落地的技术故事。
2402 0
|
2月前
|
人工智能 安全 Java
Spring Boot 中使用 Function 和异步线程池处理列表拆分任务并汇总结果
在Java开发中,处理大规模数据时常常需要将列表拆分为多个子列表进行异步处理并汇总结果。本文介绍如何在Spring Boot中使用Function和异步线程池实现高效且可维护的代码,涵盖结果封装、线程池配置、列表拆分处理及结果汇总等关键步骤。
120 0
|
监控 Linux 测试技术
【实战技巧】使用inotify实现实时文件监控
`inotify`是Linux内核提供的文件系统监控机制,用于实时捕获文件和目录的创建、删除、移动和修改等事件。通过`inotify_init`初始化,`inotify_add_watch`添加监视点,如`. IN_ACCESS`, `. IN_MODIFY`等,及`inotify_rm_watch`移除监视。示例代码展示了监听指定路径下文件修改事件,当事件发生时打印信息。使用`inotify`能高效地构建实时应用,如文件同步和日志监控,简化系统编程。
1802 110
|
存储 XML 前端开发
GIGE 协议摘录 —— 引导寄存器(四)(上)
GIGE 协议摘录 —— 引导寄存器(四)
191 1
|
测试技术 Linux Android开发
i2c总线及设备测试工具i2ctools:i2cdetect、i2cdump、i2cget、i2cset
本文介绍了i2ctools工具集的使用,包括i2cdetect、i2cdump、i2cget和i2cset,这些工具有助于I2C设备的开发和调试,通过检测设备、读写寄存器和数据块来提高开发效率。
2627 1
|
存储 算法 程序员
实现一个malloc内存分配器(图文并茂)
实现一个malloc内存分配器(图文并茂)
101725 0
|
消息中间件 Kubernetes NoSQL
posix_memalign函数详解
posix_memalign函数详解
|
Kubernetes Cloud Native Linux
云原生|kubernetes|apparmor的配置和使用
云原生|kubernetes|apparmor的配置和使用
1616 0
|
XML 前端开发 Java
Spring高手之路2——深入理解注解驱动配置与XML配置的融合与区别
本文旨在深入探讨Spring框架的注解驱动配置与XML配置,揭示两者之间的相似性与差异。我们首先介绍了配置类的编写与Bean的注册,然后比较了注解驱动的IOC依赖注入与XML依赖注入。文章进一步解析了Spring的组件注册与组件扫描,包括使用@ComponentScan和XML启用component-scan的情况,以及不使用@ComponentScan的场景。接下来,我们深入探讨了其他相关的组件注册注解。最后,我们展示了如何将注解驱动的配置与XML驱动的配置结合使用,并通过思考总结部分提出了一些重要的问题
319 1
Spring高手之路2——深入理解注解驱动配置与XML配置的融合与区别